Converter linguagem C para visualg
#include <stdio.h>
#include <stdlib.h>
// Limites de tamanhos
#define MINIMO 2
#define MAXIMO 50
// Variáveis globais
int opcao = 0;
int linhas = MAXIMO;
int colunas = MAXIMO;
int matrizA[MAXIMO][MAXIMO];
int matrizB[MAXIMO][MAXIMO];
void limpar_tela();
// Retorna resposta do usuario se quer rodar novamente
int rodar_novamente()
{
int opcao = 0;
printf("\n\nDeseja rodar novamente? Digite 1 para SIM e 0 para Não: ");
scanf("%d",&opcao);
if (opcao == 1 || opcao == 0) {
return opcao;
}
printf("\nOpcao invalida. Escolha novamente.");
return rodar_novamente();
}
// Recebe valor inteiro do usuario
int receber_numero()
{
int numero = 0;
scanf("%d",&numero);
if (numero >0) {
return numero;
}
printf("\nNúmero inválido. digite um número positivo.: ");
return receber_numero();
}
// Valida tamanhos de linhas e colunas
int validar_tamanhos(int linhas, int colunas)
{
if ((linhas >= MINIMO && linhas <= MAXIMO) && (colunas >= MINIMO && colunas <= MAXIMO) && (linhas !
= colunas)) {
return 1;
}
printf("\nLinhas e Colunas devem ser diferentes e ter valores entre %d e %d. Tente
novamente.",MINIMO,MAXIMO);
return 0;
}
// Preencher matriz
void preencher_matriz(int matriz[MAXIMO][MAXIMO], int linhas, int colunas)
{
int i,j;
for (i = 0 ; i < linhas ; i ++) {
for (j = 0 ; j < colunas ; j ++) {
printf("\nDigite um valor inteiro para a posicao %d-%d da matriz A: ",i,j);
matriz*[j] = receber_numero();*
*
}*
*
}*
*
}*
*
// Imprimir matrizes*
*
void imprimir_matrizes(int matrizA[MAXIMO][MAXIMO], int matrizB[MAXIMO][MAXIMO], int linhas, int
*
*
**
colunas)*
*
{*
*
int i,j;*
*
limpar_tela();*
*
printf("\n\nMATRIZ A\n");*
*
for (i = 0 ; i < linhas ; i++) {*
*
for (j = 0 ; j < colunas ; j ++) {*
*
printf("\nMATRIZ A POSICAO %d-%d: %d",i,j,matrizA**[j]);*
*
}*
*
}*
*
printf("\n\nMATRIZ B (TRANSPOSTA DE A)\n");*
*
for (i = 0 ; i < colunas ; i++) {*
*
for (j = 0 ; j < linhas ; j ++) {*
*
printf("\nMATRIZ B POSICAO %d-%d: %d",i,j,matrizB**[j]);*
*
}*
*
}*
*
}*
*
void limpar_tela()*
*
{*
*
system("@cls||clear");*
*
}*
*
// Laço principal*
*
int main()*
*
{*
*
int i,j;*
*
do {*
*
//Inicializar variáveis*
*
opcao = 0;*
*
linhas = 0;*
*
colunas = 0;*
*
i = 0;*
*
j = 0;*
*
do {*
*
printf("\nEntre com o tamanho para linhas: ");*
*
linhas = receber_numero();*
*
printf("\nEntre com o tamanho para colunas: ");*
*
colunas = receber_numero();*
*
} while (!validar_tamanhos(linhas,colunas));*
*
// entrar com valores para a matriz A*
*
preencher_matriz(matrizA, linhas, colunas);*
*
// criar matriz transposta de A*
*
for(i = 0 ; i < linhas ; i ++) {*
*
for(j = 0 ; j < colunas ;j ++) {*
*
matrizB[j] = matrizA[j];*
*
}*
*
}*
*
// Imprimir matrizes*
*
imprimir_matrizes(matrizA,matrizB,linhas, colunas);*
*
// Pergunta ao usuário se quer continuar*
*
opcao = rodar_novamente();*
*
} while (opcao == 1);*
*
}me
*
*
**
*
*
*
Discussão (0)
Carregando comentários...