Sortowanie alfabetyczne wyrazów tablicy struktury w C
Ostatnio zmodyfikowano 2018-02-01 17:52
Bercik97 Temat założony przez niniejszego użytkownika |
Sortowanie alfabetyczne wyrazów tablicy struktury w C » 2018-02-01 16:48:26 Witam, mam takie zadanie żeby napisać program, który zczytuje tytuł, autora i cenę książki, zapisuje wartości do tablicy struktury i na koniec wyświetla cenę wszystkich książek oraz wyświetla alfabetycznie tytuły książek, wraz z autorami i ceną. No i własnie mam problem z tym sortowaniem. Wiem, że da się to zrobić na piechotę podobnie jakbym sortował liczby ale to dużo roboty i na pewno jest jakiś krótszy sposób. Znalazłem taki kod w C++ i próbowałem go przenieść do C (oczywiście ze zmienioną składnią) ale nie wiem dlaczego nie działa, pomoże ktoś? #include<iostream> #include<algorithm> #include<string> using namespace std;
int main() { string wyrazy[ 5 ]; cout << "Podaj dziesięć wyrazów:\n"; for( int i = 0; i < 5; i++ ) cin >> wyrazy[ i ]; sort( wyrazy, wyrazy + 5 ); cout << "Elementy posortowane:\n"; for( int i = 0; i < 5; i++ ) cout << wyrazy[ i ] << endl; cin.ignore(); cin.get(); return 0; }
Mój kod: #include <stdio.h> #include <stdlib.h>
struct ksiazka { char tytul[ 40 ]; char autor[ 40 ]; float wartosc; };
struct ksiazka ksiazki[ 100 ];
int main() { int i, ile, suma = 0, * a; printf( "Ile ksiazek: " ); scanf( "%d", & ile ); for( i = 0; i < ile; i++ ) { printf( "Tytul #%d.", i + 1 ); scanf( "%s", ksiazki[ i ].tytul ); printf( "Autor #%d.", i + 1 ); scanf( "%s", ksiazki[ i ].autor ); printf( "Wartosc #%d.", i + 1 ); scanf( "%f", & ksiazki[ i ].wartosc ); suma += ksiazki[ i ].wartosc; } puts( "Oto lista twoich ksiazek w porzadku alfabetycznym: " ); return 0; }
|
|
YooSy |
» 2018-02-01 17:20:09 Co nie działa i gdzie jest kod odpowiedzialny za sortowanie?
|
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2018-02-01 17:24:58 puts( "Oto lista twoich ksiazek w porzadku alfabetycznym: " ); sort( ksiazki.tytul, ksiazki.tytul + ile ); for( i = 0; i < ile; i++ ) printf( "%s %s %.2f\n", ksiazki.tytul[ i ], ksiazki.autor[ i ], ksiazki.wartosc[ i ] );
https://imgur.com/a/iA7Xj |
|
YooSy |
» 2018-02-01 17:33:49 Implementację sort() pokaż. Zarknij na qsort. |
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2018-02-01 17:52:10 Ok, czaje ale nie wiem czy uda mi się to zrobić, dzięki za pomoc. |
|
« 1 » |