Ir para conteúdo
Fórum Script Brasil
  • 1

Matriz em ordem inversa


Alexsandro Da Silva

Pergunta

Olá pessoal. Não estou conseguindo resolver um problema em C, vocês podem me dar uma luz? Ficarei muito grato.
Segue abaixo o enunciado.

Faça um programa em C que leia dois valores inteiros, l e c, representando respectivamente a quantidade de linha e colunas de uma matriz. Leia os lxc valores reais e armazene nessa matriz. A leitura deverá ser feita dentro da função “void leMatriz (float matriz[][max], int l, int c)”. Em seguida, desenvolva a função “void imprimeMatriz (float matriz[][max], int l, int c)”, que deverá imprimir a matriz lida na ordem inversa da leitura.

Observações: Seu programa deverá cuidar para que não sejam aceitos valores menores que 1 e maiores que 50 para a quantidade de linhas e de colunas. Defina max igual a 50. A saída deverá ser dada com apenas 1 casa decimal.

Exemplos de Casos de Testes:

case=Teste1

input= 3 4

1     2     3     4

5     6     7     8                    

9     10    11    12

output=

12.0 11.0 10.0 9.0

8.0   7.0   6.0   5.0

4.0   3.0   2.0   1.0

 

case=Teste2

input= 3 3

3     3.1   3.2

4     4.1   4.2

5     5.1   5.2

output=

5.2   5.1   5.0

4.2   4.1   4.0

3.2   3.1   3.0

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
//Programa: Login
//Função: Ler e imprimir uma matriz inversamente
//Autor: Hazzu#7444
//Data: 17/09/2020

//Cabeçalhos
#include <stdio.h>

//Constantes
#define MAX 50

//Assinatura das funções
void leMatriz(float matriz[][MAX], int l, int c);
void imprimeMatriz(float matriz[][MAX], int l, int c);


//Função principal
int main(){
    //Declaração de variáveis
	int m, n;
	float mat[MAX][MAX];
	
	//Apresentação
	printf("Ola, este programa ira ler e imprimir uma matriz em ordem inversa.\n");
	
	//Obtendo tamanho
	do{
		printf("- Informe o tamanho da matriz no formato mxn (no maximo 50x50):\n");
		scanf("%dx%d", &m, &n);
	} while (m<1 || m>50 || n<1 || n>50);
	
	//Lendo matriz
	leMatriz(mat, m, n);
	
	//Imprimindo matriz
	imprimeMatriz(mat, m, n);
	
    //Encerrando programa
	printf("Obrigado por utilizar o programa!\n");
    return 0;
}


//Função que lê a matriz
void leMatriz(float matriz[][MAX], int l, int c){
	//Variáveis auxiliares
	int i, j;
	
	//Loop de leitura
	for (i=0; i<l; i++){
		for (j=0; j<c; j++){
			printf("Informe o elemento (%d,%d): ", i+1, j+1);
			scanf("%f", &matriz[i][j]);
		}
	}
}

//Função que imprime a matriz em ordem inversa
void imprimeMatriz(float matriz[][MAX], int l, int c){
	//Variáveis auxiliares
	int i, j;
	
	//Loop de impressão
	printf("\n----- MATRIZ INVERTIDA -----\n");
	for (i=l-1; i>=0; i--){
		for (j=c-1; j>=0; j--){
			printf("%.1f\t",  matriz[i][j]);		//Imprimindo com uma casa decimal e tabulação
		}
		printf("\n");	//Quebra de linha
	}
}


image.png.78a17a538f60651ff034c44d24d9de6d.png

Editado por Hazzu
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...