Informatică, întrebare adresată de mountainyourself, 9 ani în urmă

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ăspunsuri la întrebare

Răspuns de express
5
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;
}

Alte întrebări interesante