[C][Algorytmy] Sortowanie przez wstawianie

Matiks21
Użytkownik
Użytkownik
Posty: 562
Rejestracja: 20 maja 2013, o 16:33
Płeć: Mężczyzna
Lokalizacja: Kielce
Podziękował: 98 razy

[C][Algorytmy] Sortowanie przez wstawianie

Post autor: Matiks21 »

Hey mam problem z kodem.

Nie mogę znaleźć błędu. Wydaje mi się że jest dobrze zaimplementowane.

Jest to algorytm sortowania.

Kod: Zaznacz cały

#include<stdio.h>

//co teraz? pisze sortowanie przez wstawienie

void wypisz_elementy_tablicy(int *tab,int k)
{
	int i;
	for(i=0;i<k;i++)
		printf("%d ",tab[i]);
}

swap(int *a,int *b)
{
	int c;
	c=*a;
	*a=*b;
	*b=c;
}


main()
{
	int tab[]={1,3,5,2,5,3,4,3,34},i=1,j=0,a;
	
	a=sizeof(tab)/sizeof(int);
	
	while(i<a)
	{
		if(i>j)
		{
					if(tab[i-j]<tab[i-j-1])
					{
						swap(&tab[i-j],&tab[i-j-1]);
						j++;
					}
					else
					{
						i++;
						j=0;
					}
		}
		else
		i++;
		j=0;
	}
	
	wypisz_elementy_tablicy(tab,a);
}
Ostatnio zmieniony 29 sie 2015, o 08:25 przez Afish, łącznie zmieniany 2 razy.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C][Algorytmy] Sortowanie przez wstawianie

Post autor: Afish »

Matiks21 pisze:Nie mogę znaleźć błędu. Wydaje mi się że jest dobrze zaimplementowane.
A działa? Jeżeli nie, to nie jest dobrze zaimplementowane.
Brakuje Ci klamerek przez co jedna zmienna zeruje Ci się zbyt często.
Matiks21
Użytkownik
Użytkownik
Posty: 562
Rejestracja: 20 maja 2013, o 16:33
Płeć: Mężczyzna
Lokalizacja: Kielce
Podziękował: 98 razy

[C][Algorytmy] Sortowanie przez wstawianie

Post autor: Matiks21 »

ok, klamerki wszystko naprawiły
ODPOWIEDZ