Documente Academic
Documente Profesional
Documente Cultură
1) Pentru a verifica fiecare cuvant in parte folosim functia strtok: aceasta va imparti fraza in
cuvinte ce pot fi verificate pe rand;
char *sir strtok=(s,” ”); // odata ce se vor intalni spatii, inseamna ca va aparea un nou
cuvant ce trebuie testat;
sir strtok=(NULL,” ”); // conditie de final, aceasta verifica daca am terminat de verificat un
cuvant; // daca am ajuns la spatiu s a terminat cuvantul; Pentru a gasi prima consoana a
primului cuvant, se va folosi functia strchr ce va cauta initial in in sirul s vectorul de vocale, iar
noi vom testa invers,astfel incat relatia sa dea 0; odata ce am gasit-o, vom folosi un break pt
a nu mai continua programul sa caute; // v[]=”aeiou”=vector de vocale;
2) Pentru a gasi prima vocala a primului cuvant =analog cu b), cu precizarea ca strchr va cauta
valoarea 1 pentru sirul s si vectorul de vocale,odata gasita break pentru a nu mai cauta in
continuare;
3) Pentru a gasi ultima litera a ultimului cuvant, vom afisa ultima pozitie,adica strlen(s)-1;
Se pune -1 deoarece sirurile de caractere incep de la 0, deci daca vom pune strlen(s) va afisa
NULL;
4) Fiecare solutie gasita va fi pusa intr-un nou vector de tip char pentru a fi afisata solutia;
5) Intrucat se cere si varianta de a afisa daca nu exista o astfel de solutie, atunci se va folosi o
variabila logica ok, iar de fiecare data cand vom gasi o vocala,consoala, respectiv ultima linie
aceasta va fi initializata cu 1; daca va fi 0, se va afisa mesajul „nu exista”;
6) Dupa ce ne folosim initial de strtok, ne vom intreba pentru ce cuvant vrem sa aflam prima
vocala, etc. Atunci , ne vom intreba spre ex: daca cuvant_curent==1 atunci caut prima
consoana, etc. Fiecare cuvant spart va fi numerotat, astfel putem atribui orice variabila.
#include <iostream>
#include <string.h>
using namespace std;
char s[101],v[]="aeiou";
char solutie[4];
int main()
{cin.get(s,101);
solutie[3]='\0';
int cuvant_curent=1;
char *cuvant=strtok(s," ");
while(cuvant!=NULL)
{
if(cuvant_curent==1)
{
int consoana=0;
for(int i=0; i<strlen(cuvant); i++)
{
if(strchr(v,cuvant[i])==0)
{
solutie[0]=cuvant[i];
consoana=1;
break;
}
}
if(consoana==0)
{
cout<<"NU EXISTA";
return 0;
}
}
if(cuvant_curent==2)
{
int vocala=0;
for(int i=0; i<strlen(cuvant); i++)
{
if(strchr(v,cuvant[i])!=0)
{
solutie[1]=cuvant[i];
vocala=1;
break;
}
}
if(vocala==0)
{
cout<<"NU EXISTA";
return 0;
}
}
solutie[2]=cuvant[strlen(cuvant)-1];
cuvant=strtok(NULL," ");
cuvant_curent++;
}
cout <<solutie;
return 0;
}
III.2.
#include <iostream>
while(cn)
{ uc=cn%10;
cn/=10;
if(uc<2)
ok=0;
else
{
for(int d=2;d*d<=uc;d++)
if(uc%d==0)
ok=0;
else
ok=1;
}
if(ok==1)
s+=uc;
}
return s;
}
int main()
{ int n;
cin>>n;
cout << CifrePrime(n) << endl;
return 0;
}
III.3.
#include <iostream>
{
while(cin>>x)
{ cin>>a>>b;
for(int i=a;i<=b;i++)
if(x==a)
nr++;
}
cout << nr << endl;
return 0;
}
III.3.
#include <iostream>
{ cin>>a>>b;
while(cin>>x)
{for( i=a;i<=b;i++)
if(x==i)
nr++;
}
cout << nr << endl;
return 0;
}