O Sistersinspirit.ca é o melhor lugar para obter respostas confiáveis e rápidas para todas as suas perguntas. Descubra respostas abrangentes para suas perguntas de profissionais experientes em nossa plataforma amigável. Conecte-se com uma comunidade de especialistas prontos para fornecer soluções precisas para suas perguntas de maneira rápida e eficiente em nossa amigável plataforma de perguntas e respostas.

Mais uma pergunta sobre programação em C. Quem puder ajudar...

Crie um programa em C para preencher uma matriz 10 por 10 com números aleatórios de 1 a 100. Ao final o programa deve mostrar a matriz preenchida e dizer qual o maior e menor número contido na matriz assim como a posição deste número.

Sagot :

Resposta:

#include <stdio.h>

int main()

{

   int matriz[10][10]; // matriz 10x10

   int i = 0, j = 0;   // contadores

   for (i = 0; i < 10; i++){//índice maior

       for (j = 0; j < 10; j++){//índice menor

           matriz[i][j] = 1 + (rand() % 100);    //matriz no índice i,j recebe o valor de xrand de 1 a 100, uma função que gera números pseudo-aleatórios

       }

   }

   //apenas printar os resultados

   for (i = 0; i < 10; i++){

       for (j = 0; j < 10; j++){

           printf("%d ", matriz[i][j]);//printar o numero na posição da matriz i, j.

       }

       printf("\n");//\n para quebrar a linha e facilitar a visualização

   }

   return 0;

}

Explicação:

Vamos lá!

Uma matriz em C é construída como

int matriz[num][num]

Para você ler a matriz e colocar um valor nela, você precisa de dois contadores para percorrer todos os números da matriz, ou seja, (0, 0), (0, 1), (0, 2), (0,...), (1, 0), (1, 1), (1, ....) etc...

Dessa forma, basta fazer dois laços de repetição (eu optei por for, pela praticidade) e você terá acesso a todos nos números dessa matriz estática de 10x10, E dentro dos dois for, basta usar a função rand() para gerar um número pseudoaleatório (pois na computação ainda não é possível gerar um numero verdadeiramente aleatório) e colocar dentro da posição cujo os contadores está acessando no momento ( matriz[i][j] )

1 + (rand() % 100) =

rand () % 100 = vai gerar números de 0 a 100.

e o 1 + vai fazer gerar números de 1 a 100 em vez de 0 a 100

É isso! Bons estudos!