Sunteți pe pagina 1din 4

probleme rezolvate de informatică

1) De pe un rând al fişierului “exemplu.txt” se citeşte un text care poate să conţină orice caractere (
litere mari, litere mici, cifre şi caractere speciale). Să se tipărească textul obţinut prin transformarea în
litere mici a literelor mari.

#include<string.h>
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
ifstream f;
char s[255];
int k,i;
f.open("exemplu.txt");
f.getline(s,256);
k=strlen(s);
for(i=0;i<k;i++)
if(s[i]>='A' && s[i]<='Z')
s[i]=s[i]+'a'-'A';
cout << s;
return 0;
}

2) Se citeşte din fişierul date.in, de pe prima linie, un şir de caractere care poate să conţină numai litere
şi cifre. Afişaţi în fişierul date.out, numărul cifrelor din text.

#include <fstream>
#include<string.h>
#include <iostream>

using namespace std;

int main()
{
ifstream f;
char s[255];
int k,i,p=0;
f.open("date.in");
f>>s;
f.close();
k=strlen(s);
for(i=0;i<k;i++)
if(s[i]>='0' && s[i]<='9')
p++;
cout << p;
return 0;
}

1
3) Scrieţi un program care citeşte de la tastatură un număr natural nenul (n 20), apoi n cuvinte, fiecare
cuvânt având numai literele mici ale ale alfabetului englez, şi afişează în fişierul exemplu.txt, care dintre
cele n cuvinte sunt formate numai din vocale. Se consideră vocale literele din mulţimea {a,e,i,o,u}.

#include <iostream>
#include<string.h>
#include <fstream>

using namespace std;

int main()
{
ofstream f;
char s[255];
int n,k,i,j,p;
f.open("exemplu.txt");
cin>>n;
for(i=0;i<n;i++)
{
cin>>s;
k=strlen(s);
p=1;
for(j=0;j<k;j++)
if(strchr("aeiou",s[j])==0)
p=0;
if(p)
f<<s<<endl;
}

f.close();

return 0;
}

4) Din fişierul “palindrom.in” se citeşte un număr natural nenul n, iar de pe următoarea linie se citesc n
numere naturale nenule, separate prin câte un spaţiu. Să se afişeze pe ecran numerele palindrom, adică
numerele care au proprietatea că citite de la stânga la dreapta sau de la dreapta la stânga sunt identice
(de exemplu 15451 este palindrom, 15452 nu este palindrom).

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
ifstream f; int n,k,i,j,p;
f.open("palindrom.in");
f>>n;
for(i=0;i<n;i++)
{

2
f>>k;
p=0;
j=k;
while(k>0)
{
p=p*10+k%10;
k=k/10;
}
if(j==p)
cout<<p<<endl;
}

f.close();

return 0;
}

5) De pe prima linie a fişierului “fractii.in” se citeşte un număr natural nenul n, care reprezintă un
număr de fracţii raţionale. De pe următoarele n linii se citesc perechi de numere naturale nenule,
separate prin câte un spaţiu reprezentând numărătorul respectiv numitorul unei fracții. Să se afişeze pe
ecran cele n fracţii simplificate.
Exemplu: fractii.in fractii.out
4 4/9 17/23 27/14 5/11
12 27
17 23
54 28
125 275

#include <iostream>
#include <fstream>

using namespace std;

int cmmdc(int a, int b)


{
while(a!=b)
if(a>b)
a=a-b;
else b=b-a;
return b;
};
int main()
{
ifstream f;
ofstream g;
int n,k,i,j,p;
f.open("fractii.in");
g.open("fractii.out");
f>>n;
for(i=0;i<n;i++)

3
{
f>>k;
f>>p;
j=cmmdc(k,p);
g<<k/j<<' '<<p/j<<endl;
}

f.close();
g.close();

return 0;
}

S-ar putea să vă placă și