Extras din laborator:

Se citeste o matrice patratica formata din n linii si n coloane cu

valori numere intregi. (2<n<20)

Se cere:

1. Sa se determine maximul dintre valorile de pe diagonala principala.

2. Sa se determine cate numere prime sunt sub diagonala secundara.

3. Sa se determine cate numere situate deasupra diagonalei principale

au in scrierea lor in baza 2 exact k cifre de 1, k citit de la

tastatura.

4. Din zona sudica cuprinsa intre cele doua diagonale sa se

determine suma valorilor.

5. Se determina sirul obtinut prin parcurgerea matricei in spirala,

pornind din coltul stanga sus parcurgand prima linie, ultima

coloana,

ultima mlinie etc.

Sa se ordoneze acest sir.

*/

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

int a[21][21], n;

void citire()

{

do

{ printf("Dimensiune matrice:");

scanf("%d", &n);

if(n<=2||n>=20)

printf("Eroare nu ati respectat cerinta problemei!n");

} while(n<=2||n>=20);

for(int i=1; i<=n; i++)

for(int j=1; j<=n; j++)

{ printf("a[%d][%d]=",i, j);

scanf("%d", &a[i][j]);

}

}

void afis()

{

for(int i=1; i<=n; i++)

{

for(int j=1; j<=n; j++)

printf("%4d", a[i][j]);

printf("n");

}

printf("n");

}

int maxim_DP()

{

int max=a[1][1];

for(int i=2; i<=n; i++)

if(a[i][i]>max) max=a[i][i];

return max;

}

int prim(int x)

{

if(x==1) return 0;

if(x%2==0 && x!=2) return 0;

for(int d=3; d*d<=x; d+=2)

if(x%d==0) return 0;

return 1;

}

void prime_subDS()

{

int i, j, k=0;

printf("Numerele prime sub diagonala secundara sunt:");

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

for(j=n-i+2; j<=n; j++)

if(prim(a[i][j])) { printf("%d ", a[i][j]);

k++;

}

if(k==0) printf("Nu exista numere prime sub diagonala

secundara!n");

else printf("nSunt %d numere primen", k);

}

int cifre_binare(int x)

{

int k=0;

while(x)

{ if(x%2==1) k++;

x/=2;

}

return k;

}

void k_cif_binare_deasupraDP()

{

int i, j, k, nr=0;

char sir[20];

do

{ printf("Dati o valoarea cu semnificatia nr de cifre binare 1:");

scanf("%d", &k);

if(k<=0||k>16) printf("Valoarea incorecta, intregii int se

reprezinta pe 16 pozitii binare!!n");

Observații:

Numarul de pagini reprezinta, in acest caz, numarul de fisiere din arhiva

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Matrici.CPP
Alte informații:
Tipuri fișiere:
cpp
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
1 pagini
Marime:
1.76KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!