Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Anderson1986

Matriz [3][3] troca de posições

Recommended Posts

Estou tentando resolver o seguinte problema;

Em uma matriz de 3 x 3 informada com valores inteiros, procure o menor valor e troque com a primeira posição (0,0) e o maior número na posição (3,3). Imprima a matriz.

Não estou conseguindo fazer a troca de posições. o codigo é o seguinte

#include<iostream.h>

#include<conio.h>

int main()

{

int M[3][3], Aux[3][3], T[3][3], l, c, m=3, p, pos, pos2, q=3;

for(l=0;l<3;l++)

{

for(c=0;c<3;c++)

{

cout<<"Digite um numero["<< l <<"]["<< c <<"]:";

cin>>M[l][c];

}

}

cout<<" \n Matriz sem alteracao: \n";

for(l=0;l<3;l++)

{

for(c=0;c<3;c++)

{

cout<<endl<<M[l][c];

}

}

cout<<"\n";

int maior = M[0][0];

int menor = M[0][0];

for(l=0;l<3;l++)

{

for(c=0;c<3;c++)

if(M[l][c] > maior)

{

maior = M[l][c];

}

}

for(l=0;l<3;l++)

{

for(c=0;c<3;c++)

if(M[l][c] < menor)

{

menor = M[l][c];

Aux[l][c]=M[l][c];

}

}

cout<<"\n O maior numero: "<<maior<<"\n";

cout<<"\n O menor numero: "<<menor<<"\n";

for(l=0;l<3;l++)

{

for(c=0;c<3;c++)

if(M[l][c] < menor)

{

menor = M[l][c];

}

}

cout<<" \n Matriz com alteracao: \n";

for (p=0;p<3;p++)

{

for (q=0;q<3;q++)

if (maior==M[p][q])

pos=T[p][q];

}

for (p=0;p<3;p++)

{

for (q=0;q<3;q++)

if (menor==M[p][q])

pos2=T[p][q];

}

for(l=0;l<3;l++)

{

for(c=0;c<3;c++)

{

cout<<endl<<M[l][c];

}

}

getch();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Fiz dessa forma espero que te ajude

A Lógica que usei foi localizar primeiro o maior e o menor numero e depois fazer a inversão


/*
Função : Em uma matriz de 3 x 3 informada com valores inteiros, procure o menor valor e troque
com a primeira posição (0,0) e o maior número na posição (3,3). Imprima a matriz.
Autor : Adriano - F5cursos.com
*/
#include <stdio.h>
#include <conio.h>

main(){

//Definição de variaveis
int i, j, matriz[3][3], Aux=0, AuxM=0, Maior, Menor;

//Entrada de dados
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
printf("\n\n Informe o valor da %d%c Linha e da %d%c Coluna da Matriz : ", i+1, 167, j+1, 167);
scanf("%d", &matriz[i][j]);
}
}
printf("\n\n\n");

Maior = matriz[0][0];
Menor = matriz[0][0];
//Processamento e saida em tela
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
if (matriz[i][j] > Maior )
{
Maior = matriz[i][j];
}
if (matriz[i][j] < Menor )
{
Menor = matriz[i][j];
}
}
}
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
if (matriz[i][j] == Menor )
{
AuxM = matriz[0][0];
matriz[0][0]=matriz[i][j];
matriz[i][j]=AuxM;
}
if(matriz[i][j] == Maior )
{
Aux = matriz[2][2];
matriz[2][2]=matriz[i][j];
matriz[i][j]=Aux;
}
}
}

printf("-------------------------------- Matriz Gerada ---------------------------------\n\n");
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
printf("%6d", matriz[i][j]);
}
printf("\n\n");
}
printf("--------------------------------------------------------------------------------\n\n");
printf(" O Maior valor : %d \n O Menor valor : %d ", Maior , Menor);
printf("\n\n");


system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×