Page 6 - Informatyka na czasie. Wiesz, umiesz, zdasz. Podręcznik klasa 2 i 3
P. 6
Rozdział 2. Rozwiązywanie problemów z wykorzystaniem struktur danych
15. void sortuj(int p[], string s[], int d[], int n)
16. // sortowanie tablic metodą przez wybieranie
17. // porównywane są elementy tablicy d
18. {
19. int i,j,k;
20. for (i=0;i<n-1;i++)
21. {
22. k=i;
23. for (j=i+1;j<n;j++)
24. if (d[j]<d[k]) k=j;
25. swap(p[i],p[k]);
26. swap(s[i],s[k]);
27. swap(d[i],d[k]);
28. }
29. }
30.
31. int main()
32. {
33. const int N=100;
34. int p[N],d[N];
35. string s[N];
36. ifstream we("WUZ2_zad1_liczby.txt");
37. for (int i=0;i<N;i++)
38. {
39. we>>p[i]>>s[i];
40. d[i]=ToDec(p[i],s[i]);
41. }
42. we.close();
43. sortuj(p,s,d,N);
44. ofstream wy("zadanie_1_3_I.txt");
45. for (int i=0;i<N;i++) wy<<p[i]<<" "<<s[i]<<endl;
46. wy.close();
47. cout<<"Wyniki w pliku zadanie_1_3_I.txt";
48. return 0;
49. }
Sposób II. Wykorzystanie funkcji sort z biblioteki STL
Krok 1
Do sortowania można także wykorzystać funkcję sort z biblioteki STL. Zdefiniujemy strukturę
o nazwie liczba, która będzie zawierała następujące informacje: podstawę systemu liczbowego,
zapis liczby w systemie o danej podstawie oraz wartość dziesiętną tej liczby.
Krok 2
Zdefiniujemy własną funkcję o nazwie porownaj, której zadaniem będzie porównanie dwóch
elementów typu liczba.
230