segunda-feira, 19 de novembro de 2012

Leia uma matriz 10 x 10 e escreva a localização (linha e a coluna) do maior valor.

 
A digitação da matriz segue o padrão. Usando a biblioteca <iostream> você obtém melhor desempenho e mais produtividade. Usar o cout no lugar do printf() é melhor. Usar o cin no lugar do scanf() também, pois, só o fato de não precisar se preocupar com máscaras e outras coisa muito ajuda.
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>

using namespace std;

main (){
int matriz10x10[10][10];
int maiorValor=0,i,j;

// digitando a matriz
for (i=0;i<10;i++){
for (j=0;j<10;j++){
cout << i << " e " << j << " ";
cin >> matriz10x10[i][j];
if (matriz10x10[i][j] > maiorValor)
{
maiorValor = matriz10x10[i][j];
}
}
}

cout << endl;
// exibindo o resultado na tela

cout << "Matriz 10 x 10" << endl;

for (i=0;i<10;i++){
for ( j=0;j<10;j++){
if(maiorValor == matriz10x10[i][j])
{
cout << "Maior valor: " << maiorValor << endl;
cout << "Na linha: " << i << " e na Coluna: " << j << " " ;
}
cout << endl;
}
}

getch();
}

No primeiro conjunto for() da matriz, eu fiz a coleta do valor maior. A medida que o usuário digita o valor da variável maiorValor é comparado e substituido quando um valor maior é encontrado.

 

No segundo conjunto de for() da matriz eu faço a busca do valor, e então apresento a linha a coluna onde o valor está armazenado. Neste código abaixo, substituo a digitação da matriz, pelo preenchimento randômico.

 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>

using namespace std;

main (){

int matriz10x10[10][10];
int maiorValor=0,i,j;

// PREENCHIMENTO RANDÔMICO até o número 160

cin >> matriz10x10[i][j];

matriz10x10[i][j] = rand()%160; // randomico
cout << matriz10x10[i][j] << " "; // exibe na tela

if (matriz10x10[i][j] > maiorValor)
{
maiorValor = matriz10x10[i][j]; // compara os numeros
}
}
cout << endl;
}

// exibindo o resultado na tela
// procura onde [i]=linha e em qual coluna [j]
// está o maior valor

cout << "Matriz 10 x 10" << endl;

for (i=0;i<10;i++){
for ( j=0;j<10;j++){
if(maiorValor == matriz10x10[i][j])
{
cout << "Maior valor: " << maiorValor << endl;
cout << "Na linha: " << i << " e na Coluna: " << j << " " ;
}
cout << endl;
}
}

getch();
}

Nenhum comentário:

Postar um comentário