Informatică, întrebare adresată de marianamh, 8 ani în urmă

Se considera un text de maximum 255 de caractere litere mici sau spatii,
Realizati un program care rescrie textul astfel incat cuvintele sa apara ordonate
alfabetic.
Exemplu: Pentru sirul de caractere 'ieri am venit devreme' se va afisa:
'am devreme ieri venit'.

Răspunsuri la întrebare

Răspuns de ap53
1
#include <iostream>#include <cstring>using namespace std;int main(){    char a[100],cuv[100][20],*p,separator[]=" ,;:";    cout<<"Dati sirul:";    cin.get(a,100);    p=a;    p=strtok(p,separator);    int nr=0;    while(p) /// Separ cuvintele        strcpy(cuv[++nr],p),p=strtok(NULL,separator);    for(int i=1;i<nr;++i)        for(int j=i+1;j<=nr;++j) /// Sortez cuvintele            if(strcmp(cuv[i],cuv[j])>0)                swap(cuv[i],cuv[j]);    for(int i=1;i<=nr;++i) /// Afisez cuvintele        cout<<cuv[i]<<' ';    return 0;}

ap53: #include <iostream>
#include <cstring>
using namespace std;
int main()
{
char a[100],cuv[100][20],*p,separator[]=" ,;:";
cout<<"Dati sirul:";
cin.get(a,100);
p=a;
p=strtok(p,separator);
int nr=0;
while(p) /// Separ cuvintele
strcpy(cuv[++nr],p),p=strtok(NULL,separator);
for(int i=1;i<nr;++i)
for(int j=i+1;j<=nr;++j) /// Sortez cuvintele
if(strcmp(cuv[i],cuv[j])>0)
swap(cuv[i],cuv[j]);
for(int i=1;i<=nr;++i) /// Afisez cuvintele
cout<<cuv[i]<<' ';
return 0;
}
Alte întrebări interesante