Răspuns :
Am o solutie in C++ mult mai buna decat incerci tu, folosind tipul string specific doar limbajului C++. Pentru documentare poti studia manualul de Tudor Sorin cls IX-X ...cel mai nou manual de C++. Este singurul in care se explica despre tipul string. Succes!
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
int n,i,k;
char s[256],c[25],*p;
bool ok;
string v[256],aux;
int main()
{
ifstream f("sortcuv.in");
ofstream g("sortcuv.out");
f.getline(s,256);
n=strlen(s);
ok=true;
p=strtok(s," ");
while(p)
{
strcpy(c,p);
v[++k]=c;
p=strtok(NULL," ");
}
/* do
{
ok=true;
for(i=1;i<k;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=false;
}
}while(!ok);
*/
sort(v+1,v+k+1);
for(i=1;i<=k;i++)
g<<v[i]<<" ";
return 0;
}
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
int n,i,k;
char s[256],c[25],*p;
bool ok;
string v[256],aux;
int main()
{
ifstream f("sortcuv.in");
ofstream g("sortcuv.out");
f.getline(s,256);
n=strlen(s);
ok=true;
p=strtok(s," ");
while(p)
{
strcpy(c,p);
v[++k]=c;
p=strtok(NULL," ");
}
/* do
{
ok=true;
for(i=1;i<k;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=false;
}
}while(!ok);
*/
sort(v+1,v+k+1);
for(i=1;i<=k;i++)
g<<v[i]<<" ";
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!