Gerando Números Aleatórios em Matriz, O programa mostra como declarar e utilizar a função rand(); da biblioteca stdlib.h que é o coração do código, Declarei uma Matriz de 10 x 10, onde serão preenchidos os números para linhas e colunas, e um vetor VET [100]; de 100 posições que receberá os valores já gerados na Matriz a [10] [10]; Más os Números são gerados aleatoriamente, portanto printf imprimiu - os todos desordenados, então resolvi ordená-los previamente, e escolhi o método da bolha por ser mais simples de imprementar, tendo feito a ordenação, printf imprimiu os valores gerados na matriz, e que agora está num índice de vetor bem ordenados, más com muitas repetições, então porque não mostrar estes valores repetidos?, e foi isto que fiz o programa mostra todos os valores repetidos e se encerra com meu apelido como sempre.
Eis as saídas deste programa no cmd:
Eis o código abaixo:
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
int main ( ) {
system ( "title GERANDO
NUMEROS ALEATORIOS EM MATRIZ" );
srand ( time ( NULL ) );
int a [ 10 ] [ 10 ], n, m, i, j, x = 0, y = 0;
int ord = 0, aux;
int VET [ 100 ];
system ( "cls" );
textcolor ( LIGHTRED );
gotoxy ( 25 , 3 );
printf ( "GERANDO
NUMEROS ALEATORIOS EM MATRIZ" );
textcolor ( YELLOW );
gotoxy ( 24 , 5 );
printf ( "Programa
desenvolvido por:" );
textcolor ( LIGHTCYAN );
gotoxy ( 52 , 5 );
printf ( "Samuel Lima" );
textcolor ( LIGHTBLUE );
gotoxy ( 35 , 7 );
printf ( "sa_sp10@hotmail.com" );
textcolor ( WHITE );
gotoxy ( 30 , 9 );
printf ( "DIGITE O
NUMEROS DE LINHAS: " );
textcolor ( LIGHTRED );
scanf ( "%d" , &n );
fflush ( stdin );
textcolor ( WHITE );
gotoxy ( 30 , 11 );
printf ( "DIGITE O
NUMERO DE COLUNAS: " );
textcolor ( LIGHTRED );
scanf ( "%d" , &m );
fflush ( stdin );
system ( "cls" );
textcolor ( LIGHTRED );
gotoxy ( 25 , 3 );
printf ( "GERANDO
NUMEROS ALEATORIOS EM MATRIZ" );
textcolor ( LIGHTBLUE );
gotoxy ( 36 , 5 );
printf ( "GERANDO A MATRIZ..." );
gotoxy ( 20 , 6 );
textcolor ( YELLOW );
for ( i = 1; i <= n ; i++ ) {
printf ( "\n\t\t" );
for ( j = 1; j <= m ; j++ ) {
a [ i ] [ j ] = rand ( ) % 10;
Sleep ( 50 );
VET [ y ] = a [ i ] [ j ];
y++;
printf ( " %3d " , a [ i ] [ j ] );
}
printf ( "\n" );
}
textcolor ( LIGHTRED );
gotoxy ( 25 , 3 );
printf ( "GERANDO
NUMEROS ALEATORIOS EM MATRIZ" );
textcolor ( LIGHTBLUE );
gotoxy ( 36 , 5 );
printf ( "MATRIZ BEM
GERADA" );
textcolor ( LIGHTGRAY );
gotoxy ( 32 , 23 );
printf ( "PRESSIONE QUALQUER TECLA" );
getche ( );
system ( "cls" );
textcolor ( LIGHTRED );
gotoxy ( 25 , 3 );
printf ( "GERANDO
NUMEROS ALEATORIOS EM MATRIZ" );
textcolor ( LIGHTBLUE );
gotoxy ( 22 , 5 );
printf ( "MOSTRANDO OS
NUMEROS GERADOS DESORDENADOS" );
gotoxy ( 2 , 7 );
textcolor ( YELLOW );
for ( int x = 0 ; x < y ; x++ ) {
printf ( " %d " , VET [ x ] );
Sleep ( 20 );
}
Sleep ( 800 );
textcolor ( LIGHTBLUE );
gotoxy ( 25 , 11 );
printf ( "MOSTRANDO EM
ORDEM OS NUMEROS GERADOS " );
ord = 0;
while ( ord == 0 ) {
ord = 1;
for ( x = 0; x <= y ; x++ ) {
if ( VET [ x ] > VET [ ( x + 1 ) ] ) {
aux = VET [ x ];
VET [ x ] = VET [ ( x + 1 ) ];
VET [ ( x + 1 ) ] = aux;
ord = 0;
}
}
}
textcolor ( YELLOW );
gotoxy ( 25 , 13 );
for ( x = 0; x < y ; x++ ) {
printf ( " %d " , VET [ x ] );
}
textcolor ( LIGHTGRAY );
gotoxy ( 32 , 17 );
printf ( "PRESSIONE
QUALQUER TECLA" );
getche ( );
system ( "cls" );
textcolor ( LIGHTRED );
gotoxy ( 25 , 3 );
printf ( "GERANDO
NUMEROS ALEATORIOS EM MATRIZ" );
textcolor ( LIGHTBLUE );
gotoxy ( 25 , 5 );
printf ( "MOSTRANDO EM
ORDEM OS NUMEROS GERADOS " );
textcolor ( YELLOW );
gotoxy ( 3 , 7 );
for ( x = 0; x < y ; x++ ) {
printf ( " %d " , VET [ x ] );
}
textcolor ( LIGHTGREEN );
gotoxy ( 22 , 10 );
printf ( "MOSTRANDO OS
NUMEROS GERADOS REPETIDAMENTE" );
aux = VET [ 0 ];
gotoxy ( 22 , 12 );
for ( x = 1; x < y + 1 ; x++ )
if ( VET [ x ] == aux )
ord++;
else {
if ( ord > 1 ) {
textcolor ( LIGHTBLUE );
printf ( "\n\t\t\tO
VALOR %i ESTA REPETIDO %i VEZES" , aux ,
ord );
Sleep ( 800 );
ord = 1;
}
aux = VET [ x ];
}
textcolor ( LIGHTRED );
gotoxy ( 35 , 24 );
printf ( "\aO ROCCO AGRADECE" );
getche ( );
}