Witam, mam problem z napisaniem działającego programu w C, który będzie sortował wprowadzony zbiór liczb przez wstawianie. Na zajęciach napisaliśmy taki algorytm i według niego mieliśmy napisać program:
Wydaje mi się, ze program napisałem dobrze, kompiluje się bez problemów, ale wyświetla zawsze tylko drugą liczbę ze wprowadzonego zbioru.
#include <stdio.h>
#define N 100
int n,i,j,tmp;
int s[N];
int selectionSort(int* tab){
i=0;
j=i+1;
if ( n=0 )
{
printf("\n Zbiór pusty");
}
else
{
if ( n=1 )
{
printf("\n %d", s[n]);
}
else
{
while ( i < n )
{
j=i+1;
while ( j < n )
{
if ( s[i] > s[j] )
{
tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
else
{
j=j+1;
}
i=i+1;
}
}
}
}
for ( i=0; i < n; i++ )
{
printf("\n %d", s[i]);
}
return 0;
}
int main()
{
printf("\n Podaj n < 100: ");
scanf("%d", &n);
for (i=0; i < n; i++)
{
printf("\n Podaj kolejną liczbę: ");
scanf("%d", &s[i]);
}
selectionSort(s);
return 0;
}
Będę wdzięczny za wszelką pomoc :)