👤

Elaborati un program care citește de la tastatura doua șiruri de caractere si afișează pe ecran
a)caracterele care se întâlnesc cel puțin in unul dintre șiruri
b)caracterele care apar in ambele șiruri
c)caracterele care apar in primul si nu apar in șirul al doilea


Răspuns :

Ti-am facut o sursa simpla in C++ care rezolva punctul b)...
#include <iostream>
#include <cstring>
using namespace std;
char s[255], t[255];
int i;
int main()
{
cin.getline(s, sizeof(s));
cin.getline(t, sizeof(t));
for (i = 0; i < strlen(s); i++)
if (strchr(t, s[i])) cout << s[i];
    return 0;
}
 punctul c)
#include <iostream>
#include <cstring>
using namespace std;
char s[255], t[255];
int i;
int main()
{
cin.getline(s, sizeof(s));
cin.getline(t, sizeof(t));
for (i = 0; i < strlen(s); i++)
if (!(strchr(t, s[i]))) cout << s[i];
    return 0;
}

Pentru ca punctul b si c au fost rezolvate mai jos, iti voi pune doar rezolvarea de la a:

#include <iostream>

#include <cstring>

using namespace std;

int* v[300];

void check (char* sir,int* v[300]){

    for(int i=0;i<strlen(sir);i++)

        v[int(sir[i])]++;

}


int main()

{

    char s[255],t[255];

    cin.getline(s,255);

    cin.getline(t,255);

    check(s,v);

    check(t,v);

    for(int i=0;i<255;i++)

        if(v[i])

            cout<<(char)i;

}

Succes!