PCLP1 2018-
2019
Laborator 8
Variabile indexate în limbajul C
-Matrici-
1. Citirea şi afişarea unei matrice de valori reale
#include <stdio.h>
#include <stdlib.h>
#define MAX_LIN 30
#define MAX_COL 20
int main()
{
// declarare matrice de reali de maxim 30 de elemente
float mat[MAX_LIN][MAX_COL];
int n,m,i,j;
// citirea numarului de linii si de coloane
do
{
printf("Dati numarul de linii: ");
scanf("%d", &n);
}while(n<0 || n>MAX_LIN);
do
{
printf("Dati numarul de coloane: ");
scanf("%d", &m);
}while(m<0 || m>MAX_COL);
//citirea elementelor
printf("\nDati elementele matricei:\n");
for( i=0; i<n; i++)
for( j=0; j<m; j++)
{
printf("\nmat[%d][%d] = ", i, j);
scanf("%f", &mat[i][j]);
}
PCLP1 2018-
2019
// afisarea metricei
printf("\nMatricea este:\n");
for( i=0; i<n; i++)
{
for( j=0; j<m; j++)
printf("%7.2f", mat[i][j]);
printf("\n");
}
return 0;
}
2. Probleme – set 1
1. Să se scrie un program C care citește o matrice de numere întregi și afișează:
a. primul element
b. ultimul element
c. elementele situate pe prima linie
d. elementele situate pe ultima coloană
e. elementele divizibile cu 7
2. Să se scrie un program C care calculează suma elementelor unei matrice numere
întregi.
3. Să se scrie un program C care o matrice de numere întregi şi afişează suma
elementelor pare şi produsul elementelor impare.
4. Să se scrie un program C care citeşte o matrice de numere reale şi afişează
numărul de elemente pozitive şi numărul de elemente negative.
5. Să se scrie un program C care citeşte o matrice şi afişează media aritmetică a
elementelor din intervalul [4, 9].
6. Să se scrie un program C care afișează maximul elementelor unei matrice.
7. Să se scrie un program C care inmulţeşte elementele unei matrice cu o valoare
dată.
8. Să se scrie un program C care caută o valoare printre elementele unei matrice.
3. Probleme – set 2
1. Să se scrie un program C care citeşte o matrice de întregi şi afişează media
aritmetică a elementelor pozitive.
2. Să se scrie un program C care citeşte o matrice de numere reale şi afişează:
a. maximul elementelor pe fiecare linie
b. minimul elementelor pe fiecare coloană
PCLP1 2018-
2019
3. Să se scrie un program C care citeşte o matrice de numere şi afişează suma
elementelor situate pe conturul matricei.
7 3 9 11 5
2 4 5 32 0
1 7 2 17 3
-2 4 0 29 9
4. Să se scrie un program C care calculează suma elementelor situate pe diagonala
principală a unei matrici pătrate.
5. Să se scrie un program C care calculează produsul elementelor situate deasupra
diagonalei principale a unei matrici pătrate.
6. Să se scrie un program C care afişează numărul de elemente negative situate sub
diagonala principala a unei matrici pătrate.
7. Să se scrie un program C care calculează suma elementelor pare situate pe
diagonala secundară a unei matrici pătrate.
8. Să se scrie un program C care citeşte o matrice de întregi şi construieşte un vector
ce conţine numerele perfecte din matrice.
9. Să se scrie un program C care citeşte o matrice de întregi şi construieşte un vector
parcurgând matricea:
a. pe linii
b. pe coloane
c. in spirală
10. Să se scrie un program C care citeşte un număr întreg n şi construieşte o matrice
cu n linii şi n coloane ce conţine, în ordine strict crescătoare a valorilor (pe linii şi
pe coloane) primele numere naturale impare divizibile cu 3.
Exemplu: n = 3
matricea: 3 9 15
21 27 33
39 45 51
4. Probleme – set 3
1. Să se scrie un program C care calculează suma a două matrici.
2. Să se scrie un program C care calculează produsul a două matrici.
3. Să se scrie un program C care citeşte o matrice de numere reale și afișează linia l
pe care suma elementelor este maximă, precum și valoarea acesteia.
4. Să se scrie un program C care rearanjează liniile unei matrice astfel încât
elementele de pe prima coloană să fie ordonate crescător.
PCLP1 2018-
2019
5. Să se scrie un program C care citeşte o matrice de numere reale şi poziţiile
punctelor şa. Elementul aij este punct şa daca este minim pe linia i şi maxim pe
coloane j.
6. Să se scrie un program C care citeşte o matrice de numere întregi şi verifică dacă
matricea este pătrat magic sau nu (matricea este patratica). O matrice patratica
este patrat magic daca sumele de pe fiecare linie, coloana si de pe cele doua
diagonale sunt egale.
7. Să se scrie un program C care citeşte o matrice de numere întregi și calculează
A+AT.
8. Să se scrie un program C care citeşte o matrice de numere întregi și formează
matricea B:
9. Se dau coordonatele carteziene a n puncte în plan (P0,P1,...Pn-1). Să se scrie un
program care afişează:
a. numărul cadranului în care se află fiecare punct
b. punctul aflat la distanţă maximă faţă de originea sistemului de coordonate
c. lungimile segmentelor P0P1, P1P2, ...Pn-2Pn-1