Troubleshooting a Segmentation Fault in a Selection Sort

Click For Summary
The discussion centers around issues with a C code implementation for sorting algorithms, specifically a selection sort and a request for a merge sort example. The user experiences a segmentation fault when running their selection sort code. Key points include the identification of an error in the `scanf` statement, where the correct usage requires the address operator `&` to avoid dereferencing issues. Additionally, the loop conditions are incorrect; the outer loop should run while `i < 9` and the inner loop while `j < 10`. It is also noted that the provided sorting algorithm resembles a bubble sort rather than a selection sort. The user seeks assistance in correcting these issues and implementing a merge sort.
george2625
Messages
3
Reaction score
0
please help me with a c code for the merge sort... and i am getting a segmentation fault in running this selection sort,,, please help...

#include <stdio.h>

int main( )
{
int arr[10];
int i,j,temp;
for ( i = 0 ; i<10 ; i++ )
{
printf("enter the numbers: \n");
scanf("%d \n", arr);
}
for ( i = 0 ; i <8 ; i++ )
{
for ( j = i + 1 ; j <9 ; j++ )
{
if ( arr > arr[j] )
{
temp = arr ;
arr = arr[j] ;
arr[j] = temp ;
}
}
}
for ( i = 0 ; i <10 ; i++ )
printf("the sorted array is: %d \n", &arr);
return 0;
}
 
Technology news on Phys.org


george2625 said:
please help me with a c code for the merge sort... and i am getting a segmentation fault in running this selection sort,,, please help...

scanf("%d \n", arr);

The problem is in your scanf statement. Scanf needs a reference and "arr" is already de-referenced. You need to prefix it with "&".
 
You probably wanted those loops to be ... ; i < 9; ... and ... ; j < 10; .... Also this algorithm is not a merge sort, it's a bubble (down) sort.
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 29 ·
Replies
29
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 22 ·
Replies
22
Views
3K
  • · Replies 18 ·
Replies
18
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K