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
   1   2   3   4   5   6   7   8   9   10   11