Ir ao conteúdo
  • Cadastre-se
DONG YOL

C Exercicio de Matrizes em linguagem C

Recommended Posts

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#define LIN 3
#define COL 3
 int main()
 {
    int m[LIN][COL];
    int i,j, maior, menor;
    int lin,col;
    for(i = 0; i<LIN; i++)
    for(j = 0; j<COL; j++){
        printf("\n digite os valores: m[%d][%d]", i,j);
          scanf("%d", &m[j]);

    }
           maior = m[0][0];

     for(i = 0; i<LIN; i++)
     for(j = 0; j<COL; j++){

        if(m[j] > maior)
            maior = m[j];
            if(m[j]== lin)
                  lin = m[j];

     }
           menor = m[0][0];

     for(i = 0; i<LIN; i++)
     for(j = 0; j<COL; j++){

        if(m[j] < menor)
           menor = m[j];


             col = m[j];


     }
        for(i = 0; i<LIN; i++)
        for(j = 0; j<COL; j++){

        }
         printf("\n o maior eh: %d posicao m[%i][%i]" ,maior,lin);
         printf("\n o menor eh: %d posicao m[%i][%i]",menor,col);


return 0;
}

 

Alguém poderia me ajudar na parte de achar a posição do numero maior e a do menor na matriz já tentei varias vezes mas não consegui.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DONG YOL    para postar seu código é melhor usar o botão   <>   que está lá na barra de ferramentas da janela de responder pois senão seu código fica faltando alguns caracteres como os  [ i ]  que sumiram do seu código ,   seu código está bom , mas tem um pequeno erro na hora de comparar se é maior e menor   e precisa de mais quatro variáveis para saber a localização dos números na matriz ,  então seu código com algumas modificações ficaria assim   :

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#define LIN 3
#define COL 3
/*              0    1    2     3   4      5      6      7         8    */
typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY,
LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS;
/*   9          10       11        12        13         14    15        */
static int __BACKGROUND = BLACK    ;
static int __FOREGROUND = LIGHTGRAY;

void textcolor (int letra, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = letra;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    letra + (__BACKGROUND << 4));
}
int main(){
    int m[LIN][COL];
    int i,j, maior, menor;
    int linM=0,colM=0,m_lin=0,m_col=0;
    textcolor(14,0);
    for(i = 0; i<LIN; i++){
        for(j = 0; j<COL; j++){
            printf(" digite os valores : m[%d] [%d] => ",i,j);
            scanf("%d", &m[i][j]);
        }
    }
    maior = m[0][0];
    menor = maior  ;
    for(i = 0; i<LIN; i++){
        for(j = 0; j<COL; j++){
            if(m[i][j] > maior){
                maior = m[i][j];
                linM=i;
                colM=j;
            }
            else{
                if(m[i][j]<menor){
                    m_lin=i;
                    m_col=j;
                    menor=m[i][j];
                }
            }
        }
    }
    textcolor(14,12);
    printf("\n O Maior eh: %d Na Posicao m[%i] [%i]  "    ,maior,linM,colM  );
    printf("\n O Menor eh: %d Na Posicao m[%i] [%i]  \n\n",menor,m_lin,m_col);
    textcolor(7,0);
    getch();
    return 0;
}

 

  • Curtir 1

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×