Gerando Matriz aleatoriamente

Publicado por Junior 01/11/2007

[ Hits: 11.701 ]

Download exemplo_5.cpp




Gera uma matriz aleatoriamente (5X6) e imprime X caso os números sejam pares.

Bem interessante para quem está começando em C.

  



Esconder código-fonte

/* Fazer um programa para gerar aleatoriamente uma matriz (5 x 6), mostrar os numeros pares e os números impares mostrar X */
  
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define lin 5
#define col 6
int main()
{
    int matriz [lin][col];
    int i, j; 
    
    for (i = 1; i <= lin; i++)
    {
        for (j = 1; j <= col; j++)
        {
            srand(time(NULL));
            _sleep(800);
            matriz[i][j]=rand()%9+1;
            if ((matriz[i][j] % 2) == 0)
                printf("%2d",matriz[i][j]);
            else
                printf(" X");
        }
    printf("\n");
    }
    getch();
}

Scripts recomendados

menu

O que são e como utilizar structs

Numeros perfeitos

Utilizando arrays, funções e arquivos de texto

Qual seu signo?


  

Comentários
[1] Comentário enviado por elgio em 01/11/2007 - 09:52h

Amigo, teu código tem OVERFLOW!

for (i = 1; i <= lin; i++)
...
for (j = 1; j <= col; j++)
matriz[i][j]=rand()%9+1;

Isto vai fazer ele comecar em matriz[1][1] sem FAZER o matriz[0][0].

Se for uma matriz 4x5 a Ultima linha é a 3, não 4, e a ultima coluna é 4 não 5.

m[0][0], m[0][1], m[0][2], m[0][3], m[0][4]
m[1][0], m[1][1], m[1][2], m[1][3], m[1][4]
m[2][0], m[2][1], m[2][2], m[2][3], m[2][4]
m[3][0], m[3][1], m[3][2], m[3][3], m[3][4]

mas por causa do teu for, tu faz:
m[1][1], m[1][2], m[1][3], m[1][4], m[1][5]
m[2][1], m[2][2], m[2][3], m[2][4], m[2][5]
m[3][1], m[3][2], m[3][3], m[3][4], m[3][5]
m[4][1], m[4][2], m[4][3], m[4][4], m[4][5]

Ou seja, NÃO FAZ a linha 0 (que existe) e faz a linha 4 QUE NÃO EXISTE.

MUITO CUIDADO!!!!


[2] Comentário enviado por matrix_jr em 03/11/2007 - 23:10h

Pô valeu, mais errei mesmo na manipulaçã do for, deveria ter começado por 0.
Valeu...


Contribuir com comentário