Sunteți pe pagina 1din 9

MINISTERUL EDUCAȚIEI, CULTURII ȘI CERCETĂRII AL REPUBLICII MOLDOVA

IP CENTRUL DE EXCELENȚĂ ÎN INFORMATICĂ ȘI TEHNOLOGII INFORMAȚIONALE

DISCIPLINA

PROGRAMARE PROCEDURALĂ

LUCRAREA DE LABORATOR NR.1

APLICAREA INSTRUCȚIUNILOR DE CITIRE ȘI AFIȘARE

Specialitatea: Rețele de calculatoare

Elev: Popov Dmitrii, grupa R-1911

Profesor: Dascal Andrian

Chișinău, 2019
Sarcini rezolvate
1. Se citește un șir de la tastatură până la întâlnirea caracterului "$". După citire
datele se scriu în fișierul mesaj.in. Apoi se preiau din fișierul respectiv și se face
contorizarea fiecărei vocale din fișier. Rezultatul se va afișa în fișierul vocale.out.
Rezolvare:
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("mesaj.in.txt");
ofstream q("vocale.out.txt");
int main()
{
char s[100];
int k=0;
cout<<"Introduceti sirul de caractere (max 100 caract.) : "<<endl;
for(int i=1; i<=100; i++){
cout<<i<<" caracter : ";cin>>s[i];
g<<i<<" caracter : "<<s[i]<<endl;

if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='u'||s[i]=='U'||
s[i]=='i'||s[i]=='I'||s[i]=='o'||s[i]=='O'){
k++;}
if(s[i]=='$')
break;
}
cout<<"Numarul de vocale poate fi gasit in file-ul
vocale.out.txt\nProgram shutting down...\n";
q<<"Numarul de vocale din sir : "<<k;
return 0;
}

Rezultate obținute în urma execuției programului:

Trebuie de facut un file mesaj.in.txt si vocale.out.txt


2. Se citește un șir de la tastatură până la întâlnirea caracterului "#". După citire
datele se scriu în fișierul felicitare.in. Apoi se preiau din fișierul respectiv și se
face contorizarea fiecărui diftong: “iu” și ”oa” din fișier. Rezultatul se va afișa în
fișierul diftong.out.
Rezolvare:
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("felicitare.in.txt");
ofstream q("diftong.out.txt");
int main()
{
char s[100];
int k=0,n;
cout<<"Introduceti sirul de caractere (max 100 caract.) : "<<endl;
for(int i=1; i<=100; i++){
cin>>s[i];
g<<s[i];
n=i-1;
if(s[n]=='i' && s[i]=='u'||s[n]=='o' && s[i]=='a'){
k++;}
if(s[i]=='#')
break;
}
cout<<"\nNumarul de diftonguri poate fi gasit in file-ul
digtong.out.txt\nProgram shutting down...\n";
q<<"Numarul de diftonguri din sir : "<<k;
return 0;
}

Rezultate obținute în urma execuției programului:

Trebuie de facut un file felicitare.in.txt si diftong.out.txt


3. Se citește un șir de la tastatură până la întâlnirea caracterului "*". După citire
datele se scriu în fișierul felicitare.in. Apoi se preiau din fișierul respectiv și se
face contorizarea fiecărui triftong: “eau”, ”ioa”, ”iau” și ”eai” din fișier. Rezultatul
se va afișa în fișierul triftong.out.
Rezolvare:
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("felicitare.in.txt");
ofstream q("triftong.out.txt");
int main()
{
char s[100];
int k=0,n,y;
cout<<"Introduceti sirul de caractere (max 100 caract.) : "<<endl;
for(int i=1; i<=100; i++){
cout<<i<<" caracter : ";cin>>s[i];
g<<s[i];
y=i-2;
n=i-1;
if(s[y]=='e' && s[n]=='a' && s[i]=='u'){
k++;}
if(s[y]=='i' && s[n]=='o' && s[i]=='a'){
k++;}
if(s[y]=='i' && s[n]=='a' && s[i]=='u'){
k++;}
if(s[y]=='e' && s[n]=='a' && s[i]=='i'){
k++;}
if(s[i]=='*')
break;
}
cout<<"\nNumarul de triftonguri poate fi gasit in file-ul
trigtong.out.txt\nProgram shutting down...\n";
q<<"Numarul de triftonguri din sir : "<<k;
return 0;
}
Rezultate obținute în urma execuției programului:

Trebuie de facut un file felicitare.in.txt si triftong.out.txt


4. Se citește un șir de la tastatură până la întâlnirea caracterului "0". După citire
datele se scriu în fișierul invitatie.in. Apoi se preiau din fișierul respectiv și se face
contorizarea fiecărui hiat: “ue”, ”ai”, ”oe” și ”ae” din fișier. Rezultatul se va afișa
în fișierul hiat.out.
Rezolvare:
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("invitatie.in.txt");
ofstream q("hiat.out.txt");
int main()
{
char s[100];
int k=0,n;
cout<<"Introduceti sirul de caractere (max 100 caract.) :
"<<endl;
for(int i=1; i<=100; i++){
cout<<i<<" caracter : ";cin>>s[i];
g<<s[i];
n=i-1;
if(s[n]=='u' && s[i]=='e'){
k++;}
if(s[n]=='a' && s[i]=='i'){
k++;}
if(s[n]=='o' && s[i]=='e'){
k++;}
if(s[n]=='a' && s[i]=='e'){
k++;}
if(s[i]=='0')
break;
}
cout<<"\nNumarul de hiat-uri poate fi gasit in file-ul
trigtong.out.txt\nProgram shutting down...\n";
q<<"Numarul de hiat-uri din sir : "<<k;
return 0;
}
Rezultate obținute în urma execuției programului:

Trebuie de facut un file invitatie.in.txt si hiat.out.txt


5. Se citește de pe prima linia a unui fișier un număr natural n>2, apoi de pe
următoarele n linii se citesc elementele unei matrici. Datele se citesc din fișierul
matrice.in. Să se afișeze în fișierul matrice.out următoarele date: pe prima linie –
va fi elementul minim par din matrice,iar pe a doua linie – va fi elementul maxim
impar.
Rezolvare:
#include <iostream>
#include <fstream>
using namespace std;
ifstream g("matrice.in.txt");
ofstream q("matrice.out.txt");
int main()
{
int a[100][100];
int n;
int mina=100000,maxa=0;
g>>n;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
g>>a[i][j];
}
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(a[i][j]%2==0 && mina>a[i][j])
mina=a[i][j];
}
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(a[i][j]%2==1 && maxa<a[i][j])
maxa=a[i][j];
}
}
cout<<"Rezultatele pot fi gasite in file-ul
matrice.out.txt\nProgram shuttwwing down...\n";
q<<"Elementul minim par al matricii : "<<mina<<endl;
q<<"Elementul maxim impar al matricii : "<<maxa;
return 0;
}
Rezultate obținute în urma execuției programului:
EXERCIȚII ADAUGĂTOARE
1. Să se calculeze suma a (n+5) numere naturale care se citesc din fișierul
Greutate.txt. Să se efectuieze următoarele sarcini asupra acestor numere: a) să se
calculeze suma celor (n+5) numere; b) să se calculeze media aritmetică; c) să se
determine elementul minim; d) să se determine elementul maxim. Rezultatele de la
cazurile a-d să se scrie în fișierul solutia1.txt într-o coloniță pentru fiecare caz.
Rezolvare:
#include <iostream>
#include <fstream>
using namespace std;
ifstream g("Greutate.txt");
ofstream k("solutia1.txt");
int main()
{
int a[100];
float sum=0,n=12;
int min=1000,max=0;
for(int i=0; i<n; i++){
g>>a[i];
}
for(int i=0; i<n; i++){
sum+=a[i];
}
k<<"Suma numerelor : "<<sum<<endl;
k<<"Media aritmetica : "<<sum/n<<endl;
for(int i=0; i<n; i++){
if(min>a[i])
min=a[i];
}
k<<"Elementul minim : "<<min<<endl;
for(int i=0; i<n; i++){
if(max<a[i])
max=a[i];
}
k<<"Elementul maxim : "<<max;
cout<<"Rezultatele pot fi gasite in file-ul solutia1.txt\nProgram
shutting down...\n";
return 0;
}
Rezultate obținute în urma execuției programului:
2. Fiesunt introduse de la tastatură două numere întregi m>10 și n>10. Să se
efectuieze următoarele sarcini asupra acestor numere: a) să se calculeze media
geometică cu o exactitate de minim 6 cifre după virgulă; b) să se interschimbe cele
două numere; c) să se calculeze suma dintre m și n dacă mn atunci să se calculeze
diferența lor; d) să se determine ultimele două cifre ale produsului dintre m și n.
Rezultatele de la cazurile a-d să se scrie în fișierul solutia2.txt într-o coloniță
pentru fiecare caz.
Rezolvare:
#include <iostream>
#include <iomanip>
#include <math.h>
#include <fstream>
using namespace std;
ofstream g("solutia2.txt");
int main()
{
int m,n,p;
double medG;
cout<<"Introduceti cifra m (m>10) : ";cin>>m;
cout<<"Introduceti cifra n (n>10) : ";cin>>n;
if(n>10 && m>10){
cout<<"\n\nStarting program... (today operator Alyosha is
helping you)\n";
medG=sqrt(m+n);
cout<<"\nMedia geometrica : "<<setprecision(7)<<medG<<endl;
g<<"\nMedia geometrica : "<<setprecision(7)<<medG<<endl;
cout<<"\n\nM si N intershimbat : "<<n<<" "<<m;
g<<"\n\nM si N intershimbat : "<<n<<" "<<m<<"\n\n";
cout<<"\n\nBabushka making blinciki (please wait)...\n\n";
if(m<n)
cout<<"Suma dinte M si N : "<< m+n<<"\n";
g<<"Suma dinte M si N : "<< m+n<<"\n";
if(m>n)
cout<<"Diferenta dintre M si N : "<< m-n<<"\n";
g<<"Diferenta dintre M si N : "<< m-n<<"\n";
p=m*n;
cout<<"\nUltimele 2 cifre din produs : "<<p%100;
g<<"\nUltimele 2 cifre din produs : "<<p%100;
}
else{
cout<<"\nBlin today nepovezlo, programm ERROR\nProgram
shuting down...\n";
g<<"\nBlin today nepovezlo, programm ERROR\nProgram
shuting down...\n";}
return 0;
}

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