PC-Config

Totul despre PC și mai mult de atât!

Algoritmul de ordonare prin interschimbare C++

Acest algoritm ordonează crescător sau descrescător un șir de numere.

Dacă doriți să descărcați un exemplu de program care ordonează un șir de numere folosind acest algoritm, dați click pe ACEST LINK.

Din păcate acest algoritm nu este eficient deoarece dacă șirul este ordonat el nu își va da seama și va executa n(n-1)/2 operații. Un algoritm de ordonare mai eficient este buble-sort pe care îl vom aborda într-un articol viitor.

#include <iostream.h>
#include <fstream.h>
int v[100]; //se poate da orice valoare dorim in functie de numarul de valori care trebuie ordonate
int n, i, ok;
ifstream fin("vector.txt");
ofstream fout ("iesire.txt");
void main()
{
fin>>n;
for (i=1; i<=n; i++) fin>>v[i];
do {ok=0;
	for (i=1; i<=n-1; i++)
		if (v[i]>v[i+1]) {v[i]=v[i]+v[i+1];
							v[i+1]=v[i]-v[i+1];
							v[i]=v[i]-v[i+1];
							ok=1;}
	}
while (ok==1);

for (i=1; i<=n; i++) fout<<v[i]<<' ';
cout<<"Ordonarea s-a realizat cu succes!"<<endl<<"Puteti vizualiza sirul ordonat in fisierul de iesire."<<endl;
fin.close();
fout.close();
}

10 Comments

  1. De ce il banati si pe Axellunny????

  2. Buna! Va rog veti putea face o lista cu programe interesante?

  3. Interesant!

  4. Salut! O intrebare: ce inseamna „void main(){” ? ce face?
    Off: Care e cel mai bun si ieftin host care ofera spatiu nelimitat si un domeniu free?

  5. Eu recomand Hostway!

  6. main e o functie a programului iar void arata ca nu returneaza nimic (de asta si parantezele fara continut).

  7. S-a dus pe **** site-ul vostru.Fara tutoriale video noi,interesante.Pun pariu ca v-ati pierdut si o multime de vizitatori.Pacat de el,inainte era unu din cele mai bune sitete-uri de tutoriale video din romania.Acum,a mai ramas doar unul.(stiti la ce ma refer)

  8. Nu s-a dus pe nimic. Din cate observ a fost postat acest articol, semn ca activitatea pe site nu a inghetat complet. Eu unul nu mai am nici timpul si nici acea placere de a face tutoriale ca inainte. Am constatat ca lumea nu mai are nimic nou de invatat, plus ca am obosit sa tot fiu acuzat ca ii copiez pe altii. De ce sa-mi tot pierd timpul cu tutoriale care sa ajunga batjocura altora cand pot studia linistit ceea ce ma intereseaza si singur, fara sa ma mai complic deloc.
    Singurul lucru pe care l-am castigat de pe urma acestor tutoriale a fost experienta si consider ca pana la ora actuala am dobandit destula, asa ca nu are rost sa-mi sacrific timpul liber cu tutoriale cand pot invata singur fara sa mai arat si acelora care le stiu pe toate si intra aici doar ca sa-si bata joc de munca noastra.
    Cat despre vizitatorii care s-au obisnuit cu tutorialele mele postate cat mai des, va trebui sa va multumiti cu modul in care va posta Andrei pentru ca si el este destul de ocupat. Trebuie sa intelegeti ca ce se face aici se face din placere, nu sunt obligatii sau angajamente luate fata de cineva, iar placerea se rezuma la timp.
    Va salut.

  9. for-u nu trebuia de la i+1?

  10. asta-i buble sort…

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

© 2018 PC-Config

Theme by Anders NorenUp ↑