Sunteți pe pagina 1din 3

TEMA 1

1.

Se citesc 2 vectori. Sa se afiseze suma acestora.


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

a[10000];
b[10000];
c[10000];
n;

void citire(int *v, int *n) {


int i;
scanf("%d",n);
for(i=0;i<(*n);i++)
scanf("%d",&v[i]);
return 0;
}
void adunare(int *a, int *b, int *c, int *n) {
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]+b[i]);
return 0;
}
void scriere(int *v, int *n) {
int i;
for(i=0;i<(*n);i++)
printf("%d ",c[i]);
return 0;
}
int main()
{
citire(a,&n);
citire(b,&n);
adunare(a,b,c,n);
scriere(c,n);
return 0;
}

2. Se citesc n, m, fiind dimensiunile unei matrice, matricea,si 2 nr x si y. Sa se interschimbe


elementele de pe linia x cu cele de pe linia y.
#include <stdio.h>
#include <stdlib.h>
void intersc(int s[100][100],int a,int b, int c) {
int i, aux;
for(i=0;i<c;i++) {
aux=s[a][i];
s[a][i]=s[b][i];
s[b][i]=aux;
}
}
int main() {
int a[100][100];
int n, m, i, j, x, y;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
scanf("%d %d",&x,&y);
intersc(a,x,y,n);
for(i=0;i<m;i++) {
for(j=0;j<n;j++)

printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}

3. Se dau n nr. Sa se afiseze nr transformate astfel : prima cf va ramane nemodificata;


toate cf divizibile cu 3, mai putin prima, se vor inlocui cu valoare cifrei + 1. Daca cifra
este 9, punem 0.
#include <stdio.h>
#include <stdlib.h>
int trans(int a) {
int x, cf, nrcf, s;
x=nrcf=0;
while(a>0) {
cf=a%10;
if(cf%3==0)
cf=(cf+1)%10;
x=x*10+cf;
a=a/10;
nrcf++;
}
a=s=0;
while(x>0) {
a=a*10+(x%10);
x=x/10;
s++;
}
while(s<nrcf) {
a*=10;
nrcf--;
}
return a;
}
int main() {
int n, i, nr;
scanf("%d",&n);
for(i=0;i<n;i++) {
scanf("%d",&nr);
nr=trans(nr);
printf("%d ",nr);
}
return 0;
}

4. Se dau 2 matrice cu aceleasi dimensiuni. Sa se afiseze suma matricelor.


#include <stdio.h>
#include <stdlib.h>
void adunare(int x[100][100], int y[100][100], int z[100][100],int d,int e) {
int i, j;
for(i=0;i<d;i++)
for(j=0;j<e;j++)
z[i][j]=x[i][j]+y[i][j];
}
int main() {
int a[100][100], b[100][100], c[100][100];
int i, j, m, n;
scanf("%d %d",&n,&m);

for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);
adunare(a,b,c,m,n);
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
printf("%d ",c[i][j]);
printf("\n");
}
return 0;
}