Informatică, întrebare adresată de tumblrgirl88, 9 ani în urmă

Să se scrie un program care citește o propoziţie şi afişează cuvintele din propoziţie ordonate alfabetic. In c++;


Utilizator anonim: Cuvintele propozitiei sau literele propozitiei?
Ca nu imi este tot una:
Utilizator anonim: Ex, propozitia: Ana merge la magazin; daca este sa afiseze cuvintele alfabetic o sa afiseze: Ana; la; magazin ; merge
Utilizator anonim: Daca in schimb este vorba de litere.. ordonate alfabetic o sa afiseze: a; e; g; i; l; m; n; r

Răspunsuri la întrebare

Răspuns de davidalexandru9
6
#include <cstring> #include <fstream> using namespace std; ifstream in("sortcuv.in"); ofstream out("sortcuv.out"); typedef char matrice_cuvinte[30][30]; void formare_cuvinte_matrice(matrice_cuvinte &cuvinte, char sir_cuvinte[], int &numar_cuvinte) { numar_cuvinte = 0; char *p = strtok(sir_cuvinte, " "); while (p) { strcpy(cuvinte[numar_cuvinte++], p); p = strtok(NULL, " "); } } void sortare_matrice_cuvinte(matrice_cuvinte &cuvinte, int numar_cuvinte) { char aux[300]; for (int i = 0; i < numar_cuvinte - 1; i++) { for (int j = i + 1; j < numar_cuvinte; j++) { if (strcmp(cuvinte[i], cuvinte[j]) == 1) { strcpy(aux, cuvinte[i]); strcpy(cuvinte[i], cuvinte[j]); strcpy(cuvinte[j], aux); } } } } void afisare_matrice_cuvinte(matrice_cuvinte cuvinte, int numar_cuvinte) { for (int i = 0; i < numar_cuvinte; i++) out << cuvinte[i] << "n"; } int main() { char sir_cuvinte[300]; matrice_cuvinte cuvinte; int numar_cuvinte; in.get(sir_cuvinte, 300); formare_cuvinte_matrice(cuvinte, sir_cuvinte, numar_cuvinte); sortare_matrice_cuvinte(cuvinte, numar_cuvinte); afisare_matrice_cuvinte(cuvinte, numar_cuvinte); return 0; }
Alte întrebări interesante