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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!