Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cristiano-ssilva

Matriz - Inserção em posição incorreta

Recommended Posts

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

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 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.