Sunteți pe pagina 1din 4

Lucrare Semestriala la Informatica ->clasa a X-a intensiv->16.12.

2013

1. Realizai un program ce reuete s adune 2 numere de maxim 100000 de cifre (ce nu sunt neaprat de aceeai lungime) cu ajutorul funciilor string. Exemplu : txt.in 123456 899999 txt.out 1023455

2. Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este format din caractere din mulimea {*,?,#}, are aceeai lungime cu x i pe fiecare poziie din s n care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare # n x se gsete o consoan i pe fiecare poziie din s n care apare ? putem avea orice caracter n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}. a.) Scriei programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe ecran un ablon comun celor dou iruri citite, care conine un numr minim de caractere ?. Date de introdus diamant pierdut Date rezultate #**#??#

b.) Pe aceeai structur de program punei condiiile pentru care un cuvant nu respect algoritmul i afiai-le: Date de introdus diamant pierdut diamant pierdut diamant pierdut diamant pirat Date rezultate #**#??# #**#??# #**#??# Nu exist ablon A doua introducere pe aceiai structur carusel baababb baa2abb Al doilea set de date rezultate Nu apartine Apartine Nu apartine -

SUCCES!!

Lucrare Semestriala la Informatica ->clasa a X-a intensiv->16.12.2013

Rezolvari: Problema 1: (C/C++) ---------------------------------------------------------------------------------------4p #include <iostream> #include <fstream> #include <cstring> #include <cstdlib> using namespace std; int main() { char c1[256],c2[256],s[256]; int i,ok=1; cin.getline(c1,256); cin.getline(c2,256); if(strlen(c1)!=strlen(c2)) cout<<"Nu exista sablon"; else { for(i=0; i<strlen(c1); i++) { if(strchr("aeiou",c1[i])&&strchr("aeiou",c2[i])) s[i]='*'; else if(!strchr("aeiou",c1[i])&& !strchr("aeiou",c2[i])) s[i]='#'; else s[i]='?'; } cout<<s<<"\n"; } cin.getline(c1,256); if(strlen(s)!=strlen(c1)) cout<<"Nu Apartine"; else { for(i=0; i<strlen(s); i++) { if(s[i]=='#'&& strchr("aeiou",c1[i])) { ok=0;

Lucrare Semestriala la Informatica ->clasa a X-a intensiv->16.12.2013 break; } if(s[i]=='*'&& !strchr("aeiou",c1[i])) { ok=0; break; } if(s[i]=='?'&& !isalpha(c1[i])) { ok=0; break; } } if(ok==0) cout<<"Nu Apartine"; else cout<<"Apartine"; } return 0; } Problema 2: (C/C++)-----------------------------------------------------------------------------------------5p #include <iostream> #include <fstream> #include <cstring> #include <cstdlib> using namespace std; int main() { char c1[256],c2[256],s[256]; int i,ok=1; cin.getline(c1,256); cin.getline(c2,256); if(strlen(c1)!=strlen(c2)) cout<<"Nu exista sablon"; else { for(i=0; i<strlen(c1); i++) { if(strchr("aeiou",c1[i])&&strchr("aeiou",c2[i])) s[i]='*'; else if(!strchr("aeiou",c1[i])&& !strchr("aeiou",c2[i])) s[i]='#';

Lucrare Semestriala la Informatica ->clasa a X-a intensiv->16.12.2013 else s[i]='?'; } cout<<s<<"\n"; } cin.getline(c1,256); if(strlen(s)!=strlen(c1)) cout<<"Nu Apartine"; else { for(i=0; i<strlen(s); i++) { if(s[i]=='#'&& strchr("aeiou",c1[i])) { ok=0; break; } if(s[i]=='*'&& !strchr("aeiou",c1[i])) { ok=0; break; } if(s[i]=='?'&& !isalpha(c1[i])) { ok=0; break; } } if(ok==0) cout<<"Nu Apartine"; else cout<<"Apartine"; } return 0; } Oficiu :1p Timp de lucru: 110 min

Propunator de subiecte si bareme : Artene Dragos Andrei(Colegiul National Andrei Saguna Brasov)