0% found this document useful (0 votes)
27 views32 pages

Bilete Rezolvate pclp2

The document contains code for several C programs that perform operations on matrices and vectors, including calculating averages. One program calculates the arithmetic mean of positive elements in a matrix below the secondary diagonal inclusively, summing those elements and dividing by the count. Another finds the minimum element in the odd columns of a matrix and its position. A third calculates the arithmetic mean of even elements in a vector using pointers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views32 pages

Bilete Rezolvate pclp2

The document contains code for several C programs that perform operations on matrices and vectors, including calculating averages. One program calculates the arithmetic mean of positive elements in a matrix below the secondary diagonal inclusively, summing those elements and dividing by the count. Another finds the minimum element in the odd columns of a matrix and its position. A third calculates the arithmetic mean of even elements in a vector using pointers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Bilet 2

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#define NMAX 25

int main(void)
{
int A[NMAX][NMAX],m,n,i,j;

printf("introd dim\n");
if(scanf("%d",&m)!=1)
{
printf("DE");
exit(1);
}

printf("introd elemenetele\n");
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{
printf("A[%d][%d]\n",i,j);
if(scanf("%d",&A[i][j])!=1)
{
printf("DE");
exit(1);
}

printf("matricea este\n");
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
printf("%d\t",A[i][j]);
printf("\n");
}

//media aritmetica a elem de sub diagonala principala inclusiv

int s=0,k=0;
double ma=0;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{
if(i>=j)
{
k++;
s=s+A[i][j];
}

if(k>0)
{
ma=(1.0)*s/k;
printf ("ma=%g\n",ma);
}
else
printf("imposibil");

// media arit a elem pozitive din matrice


double ma2=0;
int s2=0, k2=0;
for(i=0;i<m;i++)
for(j=0;j<m;j++)

if(A[i][j]>0)
{
k2++;
s2=s2+A[i][j];

}
if(k2>0)
{
ma2=(1.0)*s2/k2;
printf("ma2=%g",ma2);

}
else
printf("imposibil");

return 0; }
BILET 27
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#define NMAX 25
#define MMAX 30

//elementul minim dintre elem coloanelor impare si pozitia acestuia

int main(void)
{
int A[NMAX][MMAX];
int m,n, i,j, emin=A[0][0], pozi=0,pozj=0;
printf("dati elem matricii\n");
if(scanf("%d%d",&m,&n)!=2)
{
printf("DE");
exit(1);
}
printf("Dati elem matricei A\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("A[%d][%d]",i,j);
if(scanf("%d",&A[i][j])!=1)
{
printf("DE");
exit(1);
}
}

printf("matricea A este:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",A[i][j]);
printf("\n");

}
for(i=0;i<m;i++)
for(j=0;j<n;j++)

{ if(j%2!=0)// coloana impara


{
if(A[i][j]<emin)
{
emin=A[i][j];
pozi=i;
pozj=j;
}
}
}
printf("emin=%d\n pozi=%d\n pozj=%d\n",emin,pozi,pozj);

}
BILET 24

#include<conio.h>
#include<stdlib.h>
#define N 30
//2 vect , z=x+y, sa se elim din z valorile mai mari ca 40000, construind un nou vect w si
afisandul
int main(void)
{
long int x[N] ,y[N],z[N],w[N];
int i,j,k,n;

printf("introducetti dimensiunile vectorilor\n");


if(scanf("%d",&n)!=1)
{
printf("de");
exit(1);
}

printf("introduceti elem vect x:\n");


for(i=0;i<n;i++)
{
printf("x[%d]",i);
if(scanf("%ld",&x[i])!=1)
{

printf("de");
exit(1);

}
}
printf("\nIntroduceti elementele vectorul y:\n");
for(i=0;i<n;i++)
{
printf("\ny[%d]=",i);
if(scanf("%ld",&y[i])!=1)
{
printf("Date eronate");
exit(1);
}
}

printf("Vectorul x este:\n");
for(i=0;i<n;i++)
printf("%ld\t",x[i]);

printf("\nVectorul y este:\n");
for(i=0;i<n;i++)
printf("%ld\t",y[i]);
//vect suma
for(j=0;j<n;j++) //parcurg z
z[j]=x[j]+y[j];
printf("\nvect z este:\n");
for(i=0;i<n;i++)
printf("%ld\t",z[i]);

//contr vect w

k=0;
for(j=0;j<n;j++)
if(z[j]<40000)
{
w[k]=z[j];
k++;
}
printf("\n vect ramas este :\n");
for(i=0;i<k;i++)
printf("%ld\t",w[i]);

BILET 23 ma cu pointeri
#include<stdio.h> #include<stdlib.h> #include<conio.h>
#define N 100
//ma a elem paredin vect cu Pointeri
int main(void)
{
int *v,i,n,k=0,s=0;
double ma;

printf("dimensiunea vect:\n");
if(scanf("%d",&n)!=1)
{printf("de");
exit(1);
}
v=(int*)malloc(sizeof(int)*n);
printf("Introduceti elementele vectorului:\n");
for(i=0;i<n;i++)
{ printf("\nv[%d]=",i);
if(scanf("%d",(v+i))!=1)
{printf("Date eronate");
exit(1);}
}
printf("Vectorul v:\n");
for(i=0;i<n;i++)
printf("%d\t",*(v+i));

s=0;k=0;
for(i=0;i<n;i++)
if(*(v+i)%2==0)
{
s=s+ *(v+i);
k++;
}
if(k>0)
ma=(double)s/k;
printf("ma=%g",ma);
return 0;
}

#include<stdio.h> #include<stdlib.h> #include<conio.h>


#define N 100
//ma a elem >0 din vect cu Pointeri
int main(void)
{
int *v,i,n,k=0,s=0;
double ma;

v=(int*)malloc(sizeof(int)*n);
if(!v)
{
printf("Memorie insuficienta");
exit(1);
}
printf("dimensiunea vect:\n");
if(scanf("%d",&n)!=1)
{
printf("de");
exit(1);
}
printf("Introduceti elementele vectorului:\n");
for(i=0;i<n;i++)
{

printf("\nv[%d]=",i);
if(scanf("%d",(v+i))!=1)
{printf("Date eronate");
exit(1);
}
}

printf("Vectorul v:\n");
for(i=0;i<n;i++)
{
printf("%d\t",*(v+i));
if(*(v+i)>0)
{
s=s+(*(v+i));
k++;
}
}

ma=(double)s/k;
printf("ma=%g",ma);}
Bilet 20
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#define N 10
//media arit a elem pozitive de deasupra diag pp
int main()
{
int A[N][N],m,n,i,j,s=0,p=1;

printf("introd dim\n");
if(scanf("%d",&n)!=1)
{
printf("de");
exit(1);
}

printf("introd elem \n");


for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("A[%d][%d]=",i,j);
if(scanf("%d",&A[i][j])!=1)
{
printf("de");
exit(1);
}
}
printf("matricea este:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d\t",A[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(i<j)
{
if(A[i][j]>0)
{
s=s+A[i][j];
p=p*A[i][j];
}

}
}
printf("s=%d\n,p=%d",s,p);
}
Bilet 17
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 100
//elementul maxim si pozitia acestuia ditr.un vect cu pointeri
int main(void)
{
int *v,n,i,max,poz;

printf("introd dimensiunea vect\n");


if(scanf("%d",&n)!=1)
{
printf ("de");
exit(1);
}

v=(int*)malloc(sizeof(int)*n);
printf("introduceti elem vect:\n");
for(i=0;i<n;i++)
{
printf("v[%d]",i);
if(scanf("%d",(v+i))!=1)
{
printf("de");
exit(1);
}
}
max=*v;
poz=0;
printf("vect este:\n");
for(i=0;i<n;i++)
{
printf("\t%d",*(v+i));
if(*(v+i)>max)
{
max=*(v+i);
poz=i;

}
printf("\ne max=%d\n si poz = %d\n",max,poz+1);}

Bilet 16
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 30
int main(void)
{
char*s;
int i;
s=(char*)malloc(sizeof(char)*(N+1));
if(!s)
{
printf("memorie insuficienta");
exit(1);

}
printf("introduceti sirul:\n");
for(i=0;i<N&&(*(s+i)=getchar())!='\n';i++);
*(s+i)='\0';
puts(s);

for(i=0;*(s+i)!='\0';i++);
printf("lungimea sirului este %d :\n",i);
}

Bilet 15
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#define NMAX 25
#define MMAX 30
//suma si produsul elem pare de sub diag secundara inclusiv

int main(void)
{
double A[NMAX][MMAX];
int m,n, i,j,s=0, p=1 ;
printf("dati elem matricii\n");
if(scanf("%d%d",&m,&n)!=2)
{
printf("DE");
exit(1);
}
printf("Dati elem matricei A\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("A[%d][%d]",i,j);
if(scanf("%lf",&A[i][j])!=1)
{
printf("DE");
exit(1);
}
}

printf("matricea A este:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%g\t",A[i][j]);
printf("\n");

}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(i+j>=n-1)
{
if(fmod(A[i][j],2)==0)
{
s=s+A[i][j];
p=p*A[i][j];
}
}
}
printf("s=%d\n p=%d\n",s,p);
return 0;

}
Bilet 14
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//media arit a nr pare
int main(void)
{
int A[25][25],m,n,i,j,s=0,k=0;
double ma=0;
printf("introduceti dimen mat\n");
if(scanf("%d%d",&m,&n)!=2)
{
printf("DE");
exit(1);
}
printf("elem matricei\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("A[%d][%d]",i,j);
if(scanf("%d",&A[i][j])!=1)
{
printf("DE");
exit(1);
}
}

printf("matricea este\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",A[i][j]);
printf("\n");
}

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(A[i][j]%2==0)// nr impare !=0
{
s=s+A[i][j];
k++;
}

}
}
if(k>0)
{
ma=(1.0)*s/k;
printf("ma=%g\n",ma);

}
else
printf("imposibil");
return 0;

}
Bilet 12
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define M 100
// sa se construiasca in memorie un nou vect w care sa contina
//doar elem multiplu de 3 ale vect v in parcurgere de la ultimul la primul
int main(void)
{
long int v[M],w[M];
int i,k,n;

printf("dimensiunea vectorului:\n");
if(scanf("%ld",&n)!=1||n<0||n>M)
{
printf("DE");
exit(1);
}

printf("introd elem vectorului:\n");


for(i=0;i<n;i++)
{
printf("v[%d]=",i);
if(scanf("%ld",&v[i])!=1)
{

printf("DE");
exit(1);

}
}

printf("vectorul v este :\n");


for(i=0;i<n;i++)
printf("\t%ld",v[i]);

k=0;//nu am niciun element


for(i=n-1;i>=0;i--)//incep de la coada vect v
if(v[i]%3==0)//daca e multiplu de 3
{
w[k]=v[i];
k++;
}
printf("\nvect w este=\n");
for(i=0;i<k;i++)
printf("\t%ld",w[i]);

}
BILET 9
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#define M 100
#define N 90
//elem maxim dintre elm pozitive si poz acestuia
int main(void)
{
float A[M][N];
int m,n,i,j,nrpozi=0,nrpozj=0,emax=A[0][0];

printf("dati elem matricii\n");


if(scanf("%d%d",&m,&n)!=2)
{
printf("DE");
exit(1);
}
printf("Dati elem matricei A\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("A[%d][%d]",i,j);
if(scanf("%f",&A[i][j])!=1)
{
printf("DE");
exit(1);
}
}

printf("mat este \n");


for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%g\t",A[i][j]);
printf("\n");
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(A[i][j]>0)
{
if(A[i][j]>emax)

{
emax=A[i][j];
nrpozi=i;
nrpozj=j;

}
}

}
printf("emax=%d,i=%d,j=%d",emax,nrpozi,nrpozj);
}
BILET 10 SWITCH
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
int main(void)
{
double a, b , rez;
char op;

printf(" introduceti a si b \n");


if(scanf("%lf%lf",&a,&b)!=2)
{
printf("DE");
exit(1);
}
printf("introd op\n");
fflush(stdin);
scanf("%c",&op);

switch(op)
{
case '*' : rez= log(fabs(a+b)+1.5);
printf("%g%c%g=%g",a,op,b,rez);
break;
case '^' : rez=pow(a,1+cos(b));
printf("%g%c%g=%g",a,op,b,rez);
break;
case '&' : rez=sqrt(a*a+b*b);
printf("%g%c%g=%g",a,op,b,rez);
break;
case '@' : rez= tan(a+b);
printf("%g%c%g=%g",a,op,b,rez);
break;

default:
printf("\n op necunoascuta\n");
}

return 0;
}

BILET 10 POINTERI
#include<stdio.h>
#include<stdlib.h>
#define N 30

int main()
{
char *s1,s2[N];
int i;

s1=(char*)malloc(sizeof(char)*(N+1));
if(!s1)
{
printf("memorie insuficienta");
exit(1);
}

printf("introd s1:\n");
for(i=0;(*(s1+i)=getchar())!='\n';i++);
*(s1+i)='\0';
puts(s1);

printf("sir 2 este :\n");


for(i=0;*(s2+i)=*(s1+i);i++);
puts(s2);
}

BILET 18
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(void)
{
int n, k ;
FILE *pf;
char c;

pf=fopen("test.txt","w");
if(!pf)
{
printf("fisierul nu poate fi deschis");
exit(1);
}
printf("introduceti variabilele intregi:\n");
while(scanf("%d",&n)==1)
{
fprintf(pf,"\t%d",n);
k++;
}

fclose(pf);
pf=fopen("test.txt","r");
if(!pf)

{
printf("fisierul nu poate fi deschis pt scriere");
exit(1);

while((c=getc(pf))!=EOF)
putch(c);
fclose(pf);
}

BILET 33
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#define M 100
// matrice in fisier, dimensiune si mat afisat scris

int main(void)

{
FILE *pf;
int m, n, i,j,a[M][M],b[M][M],m1,n1;
printf("introduceti dimensiunile matricii:\n");
if(scanf("%d%d",&m,&n)!=2)
{
printf("de");
exit(1);
}

pf=fopen("test.txt","w");
if(!pf)
{
printf("nu se poate deschid fis");
exit(1);
}

fprintf(pf,"%d\t%d\n",m,n);

printf("introd elem matricei\n");


for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("a[%d][%d]=",i,j);
if(scanf("%d",&a[i][j])!=1)
{
printf("de");
exit(1);
}
}

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",a[i][j]);
printf("\n");

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)

fprintf(pf,"%d\t",a[i][j]);
fprintf(pf,"\n");
}
fclose(pf);

pf=fopen("test.txt","r");
if(!pf)
{
printf("nu se poate deschid fis");
exit(1);
}
printf("m si n sunt:\n");
fscanf(pf,"%d%d",&m,&n);
printf("%d\t%d\n",m,n);

printf("matricea este \n");


for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{

fscanf(pf,"%d",&b[i][j]);
printf("%d\t",b[i][j]);

}
printf("\n");
}
fclose(pf);

BILET 1
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
int n,n1;
char c,c1;
float x,x1;
FILE *pf;

pf=fopen("test.txt","w");
if(!pf)
{
printf("fisierul a fost deschis");
exit(1);
}

printf("introduceti un intreg, un caracter,un nr real \n");


fflush(stdin);
if(scanf("%d %c %f",&n,&c,&x)!=3|| c>='0'&&c<='9')
{
printf("DE");
exit(1);
}

fprintf(pf,"%d\n%c\n%g\n",n,c,x);

fclose(pf);

pf=fopen("test.txt","r");
if(!pf)
{
printf("fisierul nnu a fost deschis");
exit(1);
}

fscanf(pf,"%d %c %f",&n1,&c1,&x1);
printf("%d\n%c\n%g",n1,c1,x1);
fclose(pf);

BILET 26
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 100
int main(void)
{
FILE *pf;
int n,i,n1;
double v[N],u[N];

printf("introduceti dimensiunea:\n");
if(scanf("%d",&n)!=1)
{
printf("de");
exit(1);
}
pf=fopen("test.txt","w");
if(!pf)
{
printf("nu se poate deschide:\n");
exit(1);
}
printf("introduceti elem vectorului:\n");
for(i=0;i<n;i++)
{
printf("v[%d]=",i);
if(scanf("%ld",&v[i])!=1)
{
printf("de");
exit(1);
}

}
printf("vectorul v este :\n");
for(i=0;i<n;i++)
printf("\t%ld",v[i]);//afisez normal vect

fprintf(pf,"\n%d\n",n); // afisez in fisier dimensiunea

for(i=0;i<n;i++)

fprintf(pf,"\t%ld",v[i]); //afisez vect in fisier

fclose(pf);

pf=fopen("test.txt","r");
if(!pf)
{
printf("nu se poate deschide:\n");
exit(1);
}
printf("\nnr elem este :\n");
fscanf(pf,"%d",&n1);
printf("%d",n1); //afisez in consola

printf("\nvectorul nou este :\n");


for(i=0;i<n;i++)
{
fscanf(pf,"%lf",&u[i]);
printf("%g\t",u[i]);
}

fclose(pf);

BILET 28
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

int main(void)
{
FILE *pf;
double v[100];
int c,d,e,f,n,i,nrmici=0,nrmari=0,nreg=0;

printf("introduceti n :\n");
if(scanf("%d",&n)!=1)
{
printf("de");
exit(1);
}

printf("introducceti c\n");
if(scanf("%d",&c)!=1)
{
printf("de");
exit(1);
}
printf("introd elem:\n");
for(i=0;i<n;i++)
{
if(scanf("%lf",&v[i])!=1)
{
printf("de");
exit(1);
}
if(v[i]<c)
nrmici++;
else
if(v[i]>c)
nrmari++;
else
nreg++;
}
printf("nr mai mari ca %d sunt : %d\n,nr mai mici ca %d sunt : %d\n,nr egale cu %d sunt
: %d\n",c,nrmari,c,nrmici,c,nreg);

pf=fopen("text1.txt","w");
if(!pf)
{
printf("nu se poate deschide");
exit(1);

fprintf(pf,"%d\t%d\t%d",nrmari,nrmici,nreg);
fclose(pf);//pana aici imi scrie in fisier

pf=fopen("text1.txt","r");
if(!pf)
{
printf("nu se poate deschide");
exit(1);

}
printf("elem din fisier sunt:\n");
fscanf(pf,"%d%d%d",&d,&e,&f);
printf("%d\t%d\t%d",d,e,f);
fclose(pf);//imi scrie si in consola
}

You might also like