Faça um algoritmo que leia uma matriz de elementos inteiros. A seguir armazene a
i-ésima linha da matriz em um vetor. As dimensões da matriz e a linha a ser armazenada
são informadas pelo usuário. Mostre a matriz e o vetor, este último, na ordem contrária no c
Soluções para a tarefa
Resposta:
Acredito que seja esta a resposta:
#include <stdio.h>
int main()
{
int l, c, v[10], i;
int linha;
int qtdlinha, qtdcoluna;
printf("\n -Digite a quantidade de linhas da matriz: "); // Define a quantidade de linhas
scanf("%d", &qtdlinha);
printf("\n -Digite a quantidade de colunas da matriz: "); // Define a quantidade de colunas
scanf("%d", &qtdcoluna);
printf("\n");
int m[qtdlinha][qtdcoluna]; // Declaração da matriz após ser informado a quantidade de linhas e colunas
for(l=0; l<qtdlinha; l++)
{
for(c=0; c<qtdcoluna; c++)
{
printf("[%d][%d] = ", l, c);
scanf("%d", &m[l][c]);
}
}
printf("\n");
for(l=0; l<qtdlinha; l++)
{
for(c=0; c<qtdcoluna; c++)
{
printf("%d ", m[l][c]);
}
printf("\n");
}
do // Laço de repetição Do-While para proteção de digitação errada
{
printf("\n -Informe a linha que tera os dados armazenados em ordem inversa: ");
scanf("%d", &linha);
printf("\n");
if(linha == qtdlinha - 1) // Condição extra de proteção do código
{
for(c=qtdcoluna-1, i=0; i<qtdcoluna; c--, i++)
{
v[i] = m[linha][c];
printf("[%d]", v[i]);
}
}
else
{
printf(" -A linha informada nao existe, informe novamente.\n");
}
} while(linha != qtdlinha - 1); // Condição para que o resultado final seja mostrado, caso contrário retorna para a digitação da linha
return 0;
}
Explicação: