int matriz [3][3],i,j;
int jog_maior,maior,soma,jog;
int main(){
maior = 0;
for(i=0;i<=3;i++){soma=0;}for(j=0;j<3;j++){printf("\nDigite o pontuacao da partida[%d][%d] :",matriz[i][j]);scanf("%d",&matriz[i][j]);soma=(soma+matriz[i][j]);}if(soma>maior){maior=soma;jog_maior=jog;}printf("O jogador com maior pontuacao %.2d",jog_maior);
Se a matríz é 3 x 3 os índices variam de [0][0] a [2][2] e portanto
você tem que fazer o laço assim: for(i = 0;i < 3;i++){
quando no seu exemplo o i pode chegar a 3 e estourando o tamanho da linha.
R
Rodrigo90
ajudou parou de aparecer números negativos, porém ainda não está funcionando como deveria o final não está avisando quem foi o jogador com maior pontuação. apenas aparece
o jogador com maior potuacao 00
o que eu posso fazer neste caso ?
R
Rodrigo90
Ele está rodando, porém no final não emiti quem foi o jogador com maior pontuação.
F
fventurajr1 like
Aqui não deveria ser jog_maior = i; // i guarda o número do jogador ?
Por que não printf("\nDigite a pontuação do jogador na partida[%d][%d] :",matriz[i][j]); ?
I
Iohannes
Quanto vale jog? Porque você está atribuindo o valor de jog a jog_maior. No entanto, não vi no seu código a parte que atribui valor ao jog.
I
Iohannes1 like
Eu pensei dessa forma, veja se te serve como um norte:
#include<stdio.h>#include<stdlib.h>intmain(){intembates[4][4],i,j;//intjog_maior,maior,soma,jog;charjogadores[4][8]={"Juninho","Mané","Fumiga","Buiú"};intjogador_campeao;//Jogadorqueganhouintmaior_pontuacao;//Apontuaçãomaiorjáregistradaparaumdosjogadoresintpartida;//Mostraaspartidasde1a4intcontador=0;//Contaasleiturasdapontuaçãomaior_pontuacao=0;//Amaiorpontuaçãoézeroentesdocomeçarosembatesjogador_campeao=maior_pontuacao;//Logo,opossíveljogadorcampeãonãotempontuaçãofor(i=0;i<=3;i++){partida=i;partida++;for(j=i;j<=partida;j++){//Casoojogadorsejaoquarto,entãoeledevejogarcomoprimeirojogadorparafecharaschavesif(j==4){i=0;j=0;}printf("\nDigite o pontuação do jogador %s na partida %d: ",jogadores[j],partida);scanf("%d",&embates[i][j]);++contador;//Contaasleituras//soma=(soma+matriz[i][j]);//Senapartidai,ojogadorjtiverumapontuaçãomaiorqueapontuaçãodoqueadoseuoponenteif(embates[i][j]>maior_pontuacao){maior_pontuacao=embates[i][j];//Entãoamaiorpontuação(atual)éadessejogadorjogador_campeao=j;//Entãoojogadorcampeãoparaessapertidaéojogadorj}//Sehouvehouverquatropartidasentãohouveoutoleiturasif(contador==8){i=4;//Entãoonúmerodepartidasé4partida=-1;//Aspartidasterminam->j=4,4<=partidas=false,entãoéhorademostrarocampeão}}printf("\n");}/*if (soma > maior){ maior = soma; jog_maior = jog; }*/printf("\n\nO jogador com maior pontuacao foi: %s com %d pontos.\n\n",jogadores[jogador_campeao],maior_pontuacao);system("pause");return0;}
Rodando…
As partidas acontecem da seguinte forma:
1 - Juninho vs Mané
2 - Mané vs Fumiga
3 - Fumiga vs Buiú
4 - Buiú vs Juninho
R
Rodrigo90
Ficou legal a ideia cara mas não é exatamente isso.
basicamente ele pede que lemos linhas e colunas
linhas= jogadores
colunas=partidas
eu consegui arrumar uma parte do código porém falta o final onde tenho que exibir número do jogador com maior pontuação. #include <stdio.h> #include <stdlib.h> #include <math.h>
int matriz [4][6],i,j; //linha=jogadores , colunas=partidas
int jog_maior,maior,soma,jog;
int main(){
maior=0;for(i=0;i<4;i++){soma=0;for(j=0;j<6;j++){printf("\nDigite o pontuacao da partida[%.2d][%.2d] :",matriz[i][j]);scanf("%d",&matriz[i][j]);soma=soma+matriz[i][j];}}
agora tenho que arrumar o final onde devo mostrar quem é o jogador com maior pontuação.
Embates[4][4] significa quatro partidas (linhas), quatro jogadores (colunas). Bom a minha ideia foi essa (não tinha pretensão de ser a resolução).
R
Rodrigo90
Toda ajuda é bem vinda, valeu mesmo assim.
E
Enadrov
O seu ir deveria estar dentro do for.
É sua variável jog não foi inicializado. Por isso está atribuindo 0 para variável jog_maior
N
NekoArising
Se você quer criar uma matriz numérica que suporte operações matemáticas simples ou complexas considere utilizar a biblioteca GLM. https://glm.g-truc.net/
Não só pode ser utilizada para operações vetoriais e matriciais como também para outras miudezas, extremamente útil para programação gráfica com OpenGL.