//o matrice este triunghiular inferioara daca toate elementele de sub diagonala principala sunt egale cu 0
#include <stdio.h>
#include <stdlib.h>
int k;
int triunghiulara(int a[20][20], int n, int m) {
int i,j, tri=0;
k=1;
for(i=0;i<n;i++) {
for(j=i+1;j<m;j++) {
if(a[i][j]!=0) {
k=0;
}
}
}
if(k!=0){
tri=1;}
return tri;
}
void triunghiularaSuperior(int a[20][20], int n, int m) {
int i,j;
for(i=1;i<n;i++) {
for(j=0;j<i;j++) {
a[i][j] = 0;
}
}
}
int main() {
int a[20][20];
int i,j,n,m, tri=0;
printf("Linii: "); scanf("%d", &n);
printf("Coloane: "); scanf("%d", &m);
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
printf("a[%d][%d] = ",i,j); scanf("%d", &a[i][j]);
}
}
puts("Afisare matrice... \n");
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
printf(" %d ", a[i][j]);
}
puts(" ");
}
puts(" ");
tri = triunghiulara(a,n,m);
if(tri==1) {
puts("Matricea este triunghiulara inferior \n -----> Transformare in matrice triunghiulara superior... \n");
triunghiularaSuperior(a, n, m);
puts("Afisare matrice triunghiulara superior & inferior \n");
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
printf(" %d ", a[i][j]);
}
puts(" ");
}
}
}
No comments:
Post a Comment