Buscar

Matriz Triangular Inferior

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

/*
2015-2 Estrutura de Dados - Prof. Edmundo Spoto
Gabriela Mansur e Marcella Toledo - Sistemas de Informa��o
*/
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef int Mat_Ti [(N*N+N)/2];
void Entrada_de_Dados(Mat_Ti X){
	int i,j,k=0;
	
	for(i=1;i<=N;i++){
		for(j=1;j<=i;j++){
		printf("Digite o valor %d%d\n",i,j);
		scanf("%d",&X[k]);
		k++;
	}
	}
}
int Mapear_Matriz(int i, int j){
	if(i<j){
		return (-1);
	} else{
		return (((i*i-i)/2)+j-1);
	}
}
void Mostrar_Matriz(Mat_Ti X){
	int i, j, k, nulo =0;
	 printf(" MATRIZ TRIANGULAR INFERIOR \n");
	 printf("=========================== \n \n");
	 for(i=1;i<=N;i++)
	 { for(j=1;j<=N;j++)
		 { k = Mapear_Matriz(i,j);
			 if (k!=-1)
			 printf("%5d",X[k]);
			 else printf("%5d",nulo);
	 }
	 printf ("\n");}
		
}
int Consultar_Matriz(Mat_Ti X){
	int l,c,i,nulo=0;
	
	printf("Digite o valor da linha:\n");
	scanf("%d",&l);
	printf("Digite o valor da coluna:\n");
	scanf("%d",&c);
	
	i=Mapear_Matriz(l,c);
	
	if(i==-1){
		printf("A posicao %d%d eh %d",l,c,nulo);
	} else{
		printf("A posicao %d%d eh %d",l,c,X[i]);
	}
	
}
int main(){
	
	Mat_Ti X;
	int op;
	
	printf("\tMATRIZ TRIANGULAR INFERIOR\n");
	printf("\n\nEntrada de dados\n");
	Entrada_de_Dados(X);
	
	printf("Digite 1 para mostrar a matriz e 2 para consultar item na matriz\n");
	scanf("%d",&op);
	
	switch(op){
		case 1:
			Mostrar_Matriz(X);
			break;
		case 2:
			Consultar_Matriz(X);
			break;
		default:
			printf("Opcao invalida"); 
	}
	
	
	
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando