Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
ifstream f("texte.in");
char p1[200],p2[300],vcuv[100][100], *p;
int i, k;
void ordonare() //ordoneaza cuvintele
{
int sw,i;
char aux[100];
do
{
sw=1;
for(i=0;i<k-1;i++)
if (strlen(vcuv[i])>strlen(vcuv[i+1]))
{
strcpy(aux,vcuv[i]);
strcpy(vcuv[i],vcuv[i+1]);
strcpy(vcuv[i+1],aux);
sw=0;
}
}
while(!sw);
}
void afisare() //afiseaza cuvintele
{
int i;
for(i=0;i<k;i++)
cout<<vcuv[i]<< " ";
cout << endl;
}
int main()
{
f.getline(p1,200);
f.getline(p2,300);
p=strtok(p1," ");
while (p)
{
strcpy(vcuv[k++],p);
p=strtok(NULL," ");
}
ordonare();
afisare();
int gasit=0; i=0;
while (!gasit && i<k)
{
p=strstr(p2,vcuv[i]);
if (p==0)
{
gasit=1;
cout << vcuv[i];
break;
}
++i;
}
if (gasit==0)
cout << "nu s-a gasit";
return 0;
}
Explicație:
chiar daca apar cuvinte de aceeasi lungime, in vector este pastrata ordinea de aparitie a cuvintelor.
am folosit fisier sa nu introduc propozitiile la fiecare executie a programului.
am folosit si subprogramul afisare a cuvintelor sa vad ca totul e ok
Alegi ce-ti trebuie... Succese la cercetare!
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.