Ir ao conteúdo
  • Cadastre-se
Gabriel Piassini

C++ Trabalho sobre C++ Matriz e laço de repetição

Recommended Posts

Oooi eu estou tendo problemas para calcular linhas e colunas de uma matriz usando laços de repetição,

Exercicio: 

Gere e imprima uma matriz 10x10 com valores aleatórios entre 0 e 100. Após isso:

Determine a linha da matriz que possui maior valor de soma de seus elementos.

Determine a coluna da matriz que possui maior valor de soma de seus elementos.

O que eu fiz por enquanto foi isso: 

 

#include <iostream>
#include <ctime>
using namespace std;

void main()
{

	srand(time(0));

		int matriz[10][10]; //Gerando a matriz

		for (int i = 0; i < 10; i++)//tamanho da matriz -U
		{
			for (int j = 0; j < 10; j++)//tamanho da matriz -J
			{
				matriz[i][j] = rand() % 101; //gerando os  numeros aleatorios 
				cout << matriz[i][j] << " "; 

			}
			cout << endl;
		}system("pause");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que problemas exatamente está tendo?

 

Para o fórum [ i ] sem espaços é a tag para deixar o texto em itálico, por isso todos os [ i ] do seu post sumiram, e o texto ficou em itálico a partir do lugar onde deveria estar o primeiro [ i ] no seu código, quebrando a lógica. Leia minha assinatura abaixo para ver como postar códigos no fórum sem que isso aconteça.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas observações iniciais:

 

1#

Em relação a indentação, é recomendado desabilitar a tabulação, ou seja, ao pressionar tab fazer o editor de código inserir espaços em vez de tabulação.

 

Código reindentado:

#include <iostream>
#include <ctime>
using namespace std;

void main() {
    srand(time(0));
    int matriz[10][10]; //Gerando a matriz
    for (int i = 0; i < 10; i++) {//tamanho da matriz -U
        for (int j = 0; j < 10; j++) {//tamanho da matriz -J
            matriz[i][j] = rand() % 101; //gerando os  numeros aleatorios 
            cout << matriz[i][j] << " "; 
        }
    cout << endl;
    }
    system("pause");
}

 

 

 

2#
Eu estou utilizando o Dev-C++ v5.11 (4.92 x64), para funcionar, o código teve que ficar assim:

#include <ctime>    //time()
#include <iostream> //cout, endl
#include <cstdlib>  //srand(), rand()
using namespace std;

int main() { //aqui não funciona com void
    srand(time(0));
    int matriz[10][10]; //Gerando a matriz
    for (int i = 0; i < 10; i++) {//tamanho da matriz -U
        for (int j = 0; j < 10; j++) {//tamanho da matriz -J
            matriz[i][j] = rand() % 101; //gerando os  numeros aleatorios 
            cout << matriz[i][j] << " "; 
        }
    cout << endl;
    }
    system("pause");
    return 0;
}

 

adicionado 1 minuto depois
2 horas atrás, Gabriel Piassini disse:

O que eu fiz por enquanto foi isso: 

 

Nesse isso, o que está ocorrendo de errado? por favor, nos indique qual é o problema e, se possível, onde acha que está.

 

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 14/06/2018 às 17:50, Simon Viegas disse:

Nesse isso, o que está ocorrendo de errado? por favor, nos indique qual é o problema e, se possível, onde acha que está.

 

No aguardo.w

Eu preciso de ajuda pra inverter a matriz

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, Gabriel Piassini disse:

Eu preciso de ajuda pra inverter a matriz

 

Inverter a matriz para quê?

Que tipo de ajuda?

adicionado 43 minutos depois

 

Vide enunciado:

Em 14/06/2018 às 14:58, Gabriel Piassini disse:

Gere e imprima uma matriz 10x10 com valores aleatórios entre 0 e 100. Após isso:

Determine a linha da matriz que possui maior valor de soma de seus elementos.

Determine a coluna da matriz que possui maior valor de soma de seus elementos

 

Você precisa fazer algo como:

1- Gerar a matriz com valores aleatórios;

2- Imprimir a matriz;

3- Calcular a soma de cada linha e obter o número da linha que possui a maior soma;

4- Calcular a soma de cada coluna e obter o número da linha que possui a maior soma;

 

O um e dois estão encaminhados. Poderia ficar com algo como:

#include <ctime>    //time()
#include <iostream> //cout, endl
#include <cstdlib>  //srand(), rand()
#include <iomanip>  //setw()
using namespace std;
int main() {
    srand(time(0)); //
    int matriz[10][10]; //Gerando a matriz
    
    //GERA A MATRIZ E A IMPRIME NA TELA
    for (int i = 0; i < 10; i++) { //para cada uma das linhas
        for (int j = 0; j < 10; j++) { //para cada uma das colunas
            matriz[i][j] = rand()%101; //gera um número entre 0 e 100 (inclusos)
            cout << setw(4) << matriz[i][j]; //imprime o número da matriz (ocupando 4 casas)
        }
    cout << endl;
    }
    system("pause");
    return 0;
}

 

Aí, tente implementar o 3. Você precisa implementar aquela lógica de "encontrar o maior", a diferença que os números a serem comparados vem de uma soma.. ou seja, primeiro soma, depois verifica se essa soma deu maior que o então maior... por ai vai...

 

Posta o código aqui para analisarmos, e se tiver alguma dúvida, postar em que parte...

 

No aguardo.

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

×