Buna!
Cum as putea rezolva urmatoarea problema?
Dintr-un fisier se citeste un text. Textul contine cuvinte separate printr-un spatiu. Se va genera un nou text care va contine cuvintele ordonate alfabetic
Multunesc!
Răspunsuri la întrebare
Răspuns de
1
#include <fstream>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(char* a, char* b){
return strcmp(a,b) < 0;
}
int main(){
char s[256], m[256][10], *ptr[256]; // s - textul citit, m- vectorul de siruri, ptr - vectorul de pointeri(poate fi sortat)
int k = 0;
ifstream fin("fisier");
fin.getline(s, 256);
fin.close();
// se construieste matricea m (fiecare rand = un cuvant) si vectorul de pointeri
char *p = strtok(s, " ");
while(p != NULL){
strcpy(m[k], p);
ptr[k] = m[k];
k++;
p = strtok(NULL, " ");
}
// se sorteaza vectorul de pointeri
sort(ptr, ptr + k, cmp);
// se reconstruieste textul cu cuvintele in ordine alfabetica
s[0] = '\0';
for(int i = 0; i < k; i++){
strcat(s, ptr[i]);
strcat(s, " ");
}
cout << s;
}
CinevaFaraNume:
Ca sa pot sa sortez vectorul de pointeri dupa
if (strchr(v,cuvinte[i])) ///de cate ori gasesc o vocala in cuvant
{
cuvinte[i]='1'; ///in locul ei plasez cifra 1
}
}
Alte întrebări interesante