Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C - seřazení čísel - metoda přímého výběru

Zdravím. Nemůžu přijít na kloub jednomu prográmku, který jsme dělali na cvičení. Zadávají se čísla a program je poté seřadí od nejmenšího po největší a naopak. Psal jsem tam poznámky, čemu ještě rozumím a čemu už ne. Mohl by mi to prosím někdo vysvětlit, jak program seřazuje čísla? Děkuji.

#include <stdio.h>
#include <stdlib.h>

int main()
{
	
double v[100],p; //v bude pole o poctu 100 prvku, kazdy o velikosti 8B

printf("\nSetrideni zadanych cisel vzestupne a sestupne metodou primeho vyberu"
       "\n--------------------------------------------------------------------\n");
	   
for( i=0 ;  ; i++) //cyklus pro i zacinajici od nuly (pro potreby adresovani)
{
	printf("\nZadej v[%2d] : ",i+1); //zadam i+1 prvek, protoze to zacina od 0 a ja chci mit pocet prvku od 1
    if((scanf("%lf",&v[i])) == EOF)break; //ctu a zapisuji prvky do pole, zapis ukoncim Ctrl+Z
}

n=i; //pocet zadanych prvku ulozim do n

for( i=0 ; i<n-1 ; i++) //prvky od 0 po n-1
{
  for( j=i+1 ; j<n ; j++) //nejaka pomocna promenna j
  {
    if( v[i] > v[j] ){ p=v[i]; v[i]=v[j]; v[j]=p; } //nerozumim
  }
}

//vypis setridenych dat na obrazovku
printf("\nVzestupne a Sestupne");
for( i=0 ; i<n ; i++ )
{
	printf("\n%8.2lf  %8.2lf",v[i],v[n-1-i]);
}
	
	
	
return 0;
}
Předmět Autor Datum
if( v[i] > v[j] ){ p=v[i]; v[i]=v[j]; v[j]=p; } //nerozumim Pokud je i-tý prvek větší než j-tý, proh…
Wikan 13.11.2011 16:51
Wikan
Jo tak.. A důvod toho prohození asi bude vycházet z té metody přímého výběru že? Tak to budu muset n…
Niko Bellic 13.11.2011 17:03
Niko Bellic
To asi jo.
Wikan 13.11.2011 17:07
Wikan
ano metody si budes muset nastudovat. Neni to nic komplikovane http://cs.wikipedia.org/wiki/%C5%98ad…
MM.. 13.11.2011 17:08
MM..
Díky za odkaz. Už jsem to pochopil. poslední
Niko Bellic 13.11.2011 18:15
Niko Bellic
Jáká zas metoda přímého výběru? Vždyť to je normal bubble sort...::)
MaSo 13.11.2011 17:56
MaSo
toto neni bubble. bubble porovnava susedne prvky. Vid link co som dal vyssie.
MM.. 13.11.2011 17:58
MM..

Zpět do poradny Odpovědět na původní otázku Nahoru