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

Cerinţa
Să se scrie un program care citește o propoziţie şi afişează cuvintele din propoziţie ordonate alfabetic.

Date de intrare
Fișierul de intrare sortcuv.in conține pe prima linie o propoziție alcătuită din litere mici ale alfabetului englez și spații.

Date de ieşire
Fișierul de ieșire sortcuv.out va conține cuvintele din propoziție, ordonate alfabetic, fiecare pe câte o linie.

Restricţii şi precizări
propoziția va conține cel mult 250 de caractere;
fiecare cuvânt din propoziție are cel mult 20 litere

Exemplu
sortcuv.in

dreptunghiul este un paralelogram cu un unghi drept
sortcuv.out

cu
drept
dreptunghiul
este
paralelogram
un
un
unghi

Răspunsuri la întrebare

Răspuns de Daniel4761
6

#include <iostream>

#include <fstream>

#include <string.h>

using namespace std;

int main()

{

ifstream fin("sortcuv.in");

ofstream fout("sortcuv.out");

char text[251], *p, *v[15];

int n=0, i, j;

fin.get(text,251);

p=strtok(text," ");

while(p!=NULL){

 n++;

 v[n]=p;

 p=strtok(NULL," ");

}

for(i=1;i<n;i++)

 for(j=i+1;j<=n;j++)

  if(strcmp(v[i],v[j])>0){

   p=v[i];

   v[i]=v[j];

   v[j]=p;

  }

for(i=1;i<=n;i++)

 fout<<v[i]<<'\n';

return 0;

}


KeKeMachu: Poti sa faci o sursa fara strtok? Inca nu l-am invatat si eventual o mica explicatie.
Alte întrebări interesante