Ir ao conteúdo
  • Cadastre-se

Programa de matriz em linguagem C


Posts recomendados

Olá, estou tentando fazer um programa com a seguinte questão em C:

Ler uma matriz quadrada de ordem n e a seguir deverão ser trocados entre si os valores da 1ª linha pelos respectivos valores da última linha escrevendo ao final a matriz resultante. O usuário deve escolher a dimensão da mesma.

 

Porém o mesmo está dando alguns problemas, poderiam me ajudar resolvendo a questão?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Eu pensei assim, mas tem erro

main ()
#include<stdio.h>
#include<stdlib.h>
{
int m[x][y];
int x,y,i,j,aux,cont=0;
for(i=0;i<x;i++){
for(j=0;j<y;j++){
m[j] = cont++; 
}
}
for(i=0;i<x;i++){
for(j=0;j<y;j++){
printf("%d\t ",m[j]);
}
printf("\n\n");
}
printf("\n\n\n\t linha Trocada\n");
for(j=0;j<x;j++){
aux = m[0][j];
m[0][j] = m[x][j];// 
m[x][j] = aux; 
}
for(i=0;i<x;i++){
for(j=0;j<y;j++){
printf("%d\t ",m[j]);
}
printf("\n\n");
}

}
 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

#include<stdio.h>
#include<locale.h>
main()
{
	setlocale(LC_ALL,"Portuguese");
	int colunas,linhas,x,y,matriz[x][y],auxiliar;
		printf("Digite as dimensões da matriz:\nLinhas:");
			scanf("%i",&colunas);
		printf("Colunas:");
			scanf("%i",&linhas);
		printf("Digite os números da matriz:\n");
			for(x=0;x<linhas;x++)
				{
					for(y=0;y<colunas;y++)
						scanf("%i",&matriz[x][y]);
				}
			for(x=0;x<=colunas-1;x++)
				{
					auxiliar=matriz[0][x];
					matriz[0][x]=matriz[colunas-1][x];
					matriz[colunas-1][x]=auxiliar;
				}
			printf("Nova Matriz:\n");
			for(x=0;x<linhas;x++)
				{
					for(y=0;y<colunas;y++)
						printf("%i\t",matriz[x][y]);
					printf("\n");
				}
			
}	

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

31 minutos atrás, EdwardTheHead disse:

#include<stdio.h>
#include<locale.h>
main()
{
	setlocale(LC_ALL,"Portuguese");
	int colunas,linhas,x,y,matriz[x][y],auxiliar;
		printf("Digite as dimensões da matriz:\nLinhas:");
			scanf("%i",&colunas);
		printf("Colunas:");
			scanf("%i",&linhas);
		printf("Digite os números da matriz:\n");
			for(x=0;x<linhas;x++)
				{
					for(y=0;y<colunas;y++)
						scanf("%i",&matriz[x][y]);
				}
			for(x=0;x<=colunas-1;x++)
				{
					auxiliar=matriz[0][x];
					matriz[0][x]=matriz[colunas-1][x];
					matriz[colunas-1][x]=auxiliar;
				}
			printf("Nova Matriz:\n");
			for(x=0;x<linhas;x++)
				{
					for(y=0;y<colunas;y++)
						printf("%i\t",matriz[x][y]);
					printf("\n");
				}
			
}	

 

 

Não está trocando a primeira com a ultima linha

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

#include<stdio.h>
#include<locale.h>
main()
{
	setlocale(LC_ALL,"Portuguese");
	int colunas,linhas,x,y,matriz[x][y],auxiliar;
		printf("Digite as dimensões da matriz:\nLinhas:");
			scanf("%i",&colunas);
		printf("Colunas:");
			scanf("%i",&linhas);
		printf("Digite os números da matriz:\n");
			for(x=0;x<linhas;x++)
				{
					for(y=0;y<colunas;y++)
						scanf("%i",&matriz[x][y]);
				}
			for(x=0;x<=colunas-1;x++)
				{
					auxiliar=matriz[0][x];
					matriz[0][x]=matriz[colunas-1][x];
					matriz[colunas-1][x]=auxiliar;
				}
			printf("Nova Matriz:\n");
			for(x=0;x<linhas;x++)
				{
					for(y=0;y<colunas;y++)
						printf("%i\t",matriz[x][y]);
					printf("\n");
				}
			
}	

coloca 3 linhas e 3 colunas

adicionado 2 minutos depois

Capturar.PNG

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

#include<stdio.h>
#include<locale.h>
main()
{
    setlocale(LC_ALL,"Portuguese");
    int ordem,x,y,auxiliar;
    printf("Digite a ordem da matriz:\nLinhas:");
    scanf("%i",&ordem);
    int matriz[ordem][ordem];
    printf("Digite os números da matriz:\n");
    for(x=0; x<ordem; x++)
    {
        for(y=0; y<ordem; y++)
            scanf("%i",&matriz[x][y]);
    }
    for(x=0; x<ordem; x++)
    {
        auxiliar=matriz[0][x];
        matriz[0][x]=matriz[ordem-1][x];
        matriz[ordem-1][x]=auxiliar;
    }
    printf("Nova Matriz:\n");
    for(x=0; x<ordem; x++)
    {
        for(y=0; y<ordem; y++)
            printf("%i\t",matriz[x][y]);
        printf("\n");
    }
}

Está aí o código com as modificações necessárias.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

3 minutos atrás, MassakiMsk disse:

#include<stdio.h>
#include<locale.h>
main()
{
    setlocale(LC_ALL,"Portuguese");
    int ordem,x,y,auxiliar;
    printf("Digite a ordem da matriz:\nLinhas:");
    scanf("%i",&ordem);
    int matriz[ordem][ordem];
    printf("Digite os números da matriz:\n");
    for(x=0; x<ordem; x++)
    {
        for(y=0; y<ordem; y++)
            scanf("%i",&matriz[x][y]);
    }
    for(x=0; x<ordem; x++)
    {
        auxiliar=matriz[0][x];
        matriz[0][x]=matriz[ordem-1][x];
        matriz[ordem-1][x]=auxiliar;
    }
    printf("Nova Matriz:\n");
    for(x=0; x<ordem; x++)
    {
        for(y=0; y<ordem; y++)
            printf("%i\t",matriz[x][y]);
        printf("\n");
    }
}

Está aí o código com as modificações necessárias.

Esse está perfeito, Obrigado 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!