Să se scrie un program care citește o propoziţie şi afişează cuvintele din propoziţie ordonate alfabetic. In c++;
Răspunsuri la întrebare
Răspuns de
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
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă
Ca nu imi este tot una: