Ir ao conteúdo
  • Cadastre-se

Programa dando erro


Posts recomendados

Olá, estou fazendo esse exercicio para criar uma matriz 4x4 e trocar os valores da 1° linha pelos da 4° coluna. 

estou com dificuldades na hora de trocar a linha pela coluna ..

 

código aqui:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main ()
{
    int M[4][4];
    int i, j, troca;

    //imprimindo a matriz

    for(i=0; i<4; i++){
        for(j=0; j<4; j++){
                M[j] = rand()%50; // utilizei numeros aleatorios para as matrizes
        printf("\t%d", M[j]);

        }
        printf("\n");
    }

    //trocar linha 1 pela coluna 4
    printf("trocar a linha 1 pela 4 coluna:\n");
    for(i=0; i<4; i++){
        for(j=0; j<4; j++){
    if((i==1) && (j==3)){
        troca = M[j];
        M[j] = M[j][3];
        M[4] = troca;
        printf("%d\t", M[j]);

    }
        }

    }

    system("pause");
    return 0;
}

Link para o comentário
Compartilhar em outros sites

8 minutos atrás, CiroboyBR disse:

@naiara borges david


 printf("trocar a linha 1 pela 4 coluna:\n");
  for(i = 0; i < 4; i++) {
    troca = M[0][i];
    M[0][i] = M[i][3];
    M[i][3] = troca;

  }

refiz novamente  e mesmo assim continua dando erro, só aparece um resultado e nao troca 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main ()
{
    int M[4][4];
    int i, j, troca;

    //imprimindo a matriz

    for(i=0; i<4; i++){
        for(j=0; j<4; j++){
                M[j] = rand()%50; // utilizei numeros aleatorios para as matrizes
        printf("\t%d", M[j]);

        }
        printf("\n");
    }

    //trocar linha 1 pela coluna 4
    printf("trocar a linha 1 pela 4 coluna:\n");
    for(i=0; i<4; i++){
        for(j=0; j<4; j++){
    if((i==1) && (j==3)){
     troca = M[0];
     M[0] = M[3];
     M[3] = troca;
     printf("%d\t", M[j]);
    }
        }
    }

    system("pause");
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Acredito que precise de dois for, porque eu vou trocar linha por coluna e vice versa fiz assim mas mesmo assim não está trocando a linha por coluna.

//trocar linha 1 pela coluna 4
    printf("trocar a linha 1 pela 4 coluna:\n");

    for(i=0; i<=3; i++){
       for(j=0; j<=3; j++){
                   troca = M[0][j];
                M[0][j]= M[3];
                M[3] = troca;
                 printf("\t%d", M[j]);

    }
        }
        getch();
    }

Link para o comentário
Compartilhar em outros sites

@naiara borges david  É possível fazer a troca entre a 1º linha e 4º coluna utilizando apenas 1 FOR. Presumo que você não tenha tentado utilizar o código que postei acima.

 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void imprime(int M[][4], int cont);

int main () {
  int M[4][4];
  int i, j, troca, cont = 1;

  for(i = 0; i < 4; i++) {
    for(j = 0; j < 4; j++) {
      M[i][j] = cont++;
      printf("\t%d", M[i][j]);
    }
    printf("\n");
  }

  //trocar linha 1 pela coluna 4
  for(i = 0; i < 4; i++) {
        troca = M[0][i];
        M[0][i] = M[i][3];
        M[i][3] = troca;
        imprime(M, i);
        getchar();
  }

  system("pause");
  return 0;
}

void imprime(int M[][4], int cont) {
  int i, j;

  printf("Troca %d:\n", cont);
  for(i = 0; i < 4; i++) {
    for(j = 0; j < 4; j++) {
     printf("%3d ", M[i][j]);
    }
    printf("\n");
  }
}


 

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...