Gerando Matriz aleatoriamente

Publicado por Junior 01/11/2007

[ Hits: 16.156 ]

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

Função switch q armazena sequencias

Uso do comando for e printf

DATA POR EXTENSO

Controle de maior / menor de idade (por ano)

Criando um Quadrado com asteriscos


  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts