Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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");
}

 

Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
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.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...