👤

Se dau două propoziții formate din litere mari și mici ale alfabetului englez și spații. Să se afișeze în ordine alfabetică cuvintele care apar în ambele șiruri.

Răspuns :

Ti-am facut o sursa in C++ unde cele doua propozitii le citesti dintr-un fisier text sortcuv.in, fiecare propozitie pe cate o linie. Citim cele doua siruri si cuvintele le introducem intr-un vector de string-uri si apoi sortam cu Bubble Sort acest vector de cuvine. Solutia o afisam in fisierul text sortcuv.out. Succes!
#include <bits/stdc++.h>
using namespace std;
int n,i,k;
char s1[256],s2[256],c[25],*p;
bool ok;
string v[256],aux;
int main()
{
   ifstream f("sortcuv.in");
   ofstream g("sortcuv.out");
   f.getline(s1,256);
   f.getline(s2,256);
   n=strlen(s1);
   p=strtok(s1," .");
   while(p)
{
strcpy(c,p);
v[++k]=c;
p=strtok(NULL," .");
}
n=strlen(s1);
    p=strtok(s2," .");
    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);

     for(i=1;i<=k;i++)
     g<<v[i]<<"\n";
    return 0;
}