cristiano-ssilva 0 Denunciar post Postado Maio 30, 2016 galera preciso de ajuda urgente, estou finalizando um trabalho pra faculdade onde devesse digitar valores para uma matriz 5x4 e os valores pares devem ser inseridos na linhas pares e os valores impares nas linhas impares e quando não haver mais espaço deve avisar, mas nao consigo fazer os valores aparecerem nas posicoes adequadas. poderiam me indicar oq estou errando #include <stdio.h> #include <conio.h> #include <cstdlib> #include <stdlib.h> #include <time.h> #include <iostream> using namespace std; int main() { int numero[5][4]={}; int i,j,par = 0,impar = 0,num=0,contador=0,auxiliar=0; while ((par + impar )<= 20){ cout<< "Digite os números"; cin>>num; // Armazenamento de números if (num % 2 == 0) { if (num % 2 == 0){ if (par<5) numero[1][par++] = num; else if(par>4 && par <9) numero[3][par++] = num; else cout<<"atingimos o limite de numeros pares"; } else { if (impar < 5) numero[0][impar++] = num; else if(impar>4 && impar <9) numero[2][impar++] = num; else if(impar>8 && impar <13) numero[4][impar++] = num; else cout<<"Atingimos o limite de números impares!"; } } for (int i = 0; i < 5; i++) { cout<<(" "); for (int j = 0; j < 4; j++) { cout<<numero[j]<<"\t"; }cout<<endl; } } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Maio 30, 2016 E por que não utiliza dois for ao invés de ficar fazendo somas no while? É bem mais explícito. Compartilhar este post Link para o post Compartilhar em outros sites
cristiano-ssilva 0 Denunciar post Postado Maio 30, 2016 E por que não utiliza dois for ao invés de ficar fazendo somas no while? É bem mais explícito. mas tu acha q é issu q ta dando erro?e como poderia fazer issu com for? Compartilhar este post Link para o post Compartilhar em outros sites
Wilkyn Fernandes Taborda 0 Denunciar post Postado Novembro 5, 2019 cristiano-ssilva o seu programa está com diversos erros. Não compensa apontar todos por que são muitos. Então aqui está o seu programa em uma outra versão feita por mim mesmo e funcionando corretamente: #include<iostream.h> void adiciona_par(int); void adiciona_impar(int); int matriz[5][4],contapar=0,contaimpar=0; int main () { int valor; while(1){ cout << "Digite o valor:"; cin >> valor; if (valor % 2 == 0) adiciona_par(valor); else adiciona_impar(valor); } system("pause"); } void adiciona_par(int num){ if ((contapar>3) && (contapar<8)){ matriz[2][contapar-4]=num; contapar++; } else if ((contapar>7) && (contapar<12)){ matriz[4][contapar-8]=num; contapar++; } else if (contapar==12) cout << "Nao ha mais lugar para pares."; else{ matriz[0][contapar]=num; contapar++; } } void adiciona_impar(int num){ if ((contaimpar>3) && (contaimpar<8)){ matriz[3][contaimpar-4]=num; contaimpar++; } else if (contaimpar==8) cout << "Nao ha mais lugar para impares."; else{ matriz[1][contaimpar]=num; contaimpar++; } } Compartilhar este post Link para o post Compartilhar em outros sites