Ir ao conteúdo
  • Cadastre-se

C Faça um programa em C que gere uma matriz nxn


Visitante

Posts recomendados

Título: Faça um programa em C que gere uma matriz "NxN", onde n é obtido  de forma aleatória, com números reais em N e N*2.

 

Eu ja fiz a parte da matriz aleatória NxN, so não estou conseguindo fazer a parte de colocar os números reais em N e N*2.

Preciso terminar ate dia 16 de novembro, alguém pode me ajudar a consertar?

 

#include<stdio.h>

#include<stdlib.h>

#include<time.h>



void llenar_Matriz(int dim, int matriz[dim][dim]);

void mostrar_matriz(int dim, int matriz[dim][dim]);



int main(){



               

                srand(time(NULL));



                int dim;

                printf("\nDigite a dimensao: ");

                scanf("%d", &dim);

                int matriz[dim][dim];

               

               

                llenar_Matriz(dim,matriz);

               

                mostrar_matriz(dim, matriz);



                return 0;

}



void mostrar_matriz(int dim, int matriz[dim][dim]){

                int i, j;

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

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

                                               printf("%d\t", matriz[i][j]);

                                              

                               }

                               printf("\n");

                }

}





void llenar_Matriz(int dim, int matriz[dim][dim]){

                int i, j;

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

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

                                               matriz[i][j]=1+rand() %9;

                               }

                }

}

 

 

 

Link para o comentário
Compartilhar em outros sites

2 horas atrás, devair1010 disse:

seu código funciona bem  ,  mas essa parte do " n e n*2 "   , está confuso ,  .

 

Ou não. Há vários problemas em seu código, desde a interpretação do enunciado.

 

int main()
{
    srand(time(NULL));
    int dim;

    printf("\nDigite a dimensao: ");
    scanf("%d", &dim);

    int matriz[dim][dim];

 

Essa última linha não faz parte do padrão da linguagem. Isso não existe em C exceto por uma obscura extensão chamada VLA.

 

dim deve ser constante e conhecido em tempo de compilação.

 

image.png.b163c160552767d2afc918eb03166862.png

 

Outro ponto que está claro no enunciado e até com ilustrações é que um número real é um número com decimais. O que fez você achar que uma matriz de int serviria?

 

Se 'n' é a dimensão da matriz e diz aqui que é obtido de forma aleatória então porque você está lendo isso?

 

image.png.0815d25bfa5ac6b244fab0bd3da76e9e.png

 

 

Lendo aqui está claro que n é sorteado. 

 






Então porque acha que pode usar

 

    printf("\nDigite a dimensao: ");
    scanf("%d", &dim);

 

Leu o manual? Tem um livro? Usa Linux? scanf() retorna um int. Porque não testou?

 

Mas de todo modo está errado.

 

Evite void e não escreva assim:

 

    void llenar_Matriz(int dim, int matriz[dim][dim]);

 

prefira o que foi descrito no enunciado

 

    double*    llenar_Matriz(const int dim);

 

e retorne a matriz com a dimensão pedida e com o tipo pedido: reais entre dim e (dim+dim).

 

    int i, j;
    for (i = 0; i < dim; i++)
    {
        for (j = 0; j < dim; j++)   

 

Nunca escreva assim.  Muito menos com esses nominhos ingênuos como i e j. Esses valores são globais à função. Não é o que quer. Declare as variáveis de controle do loop no for.

 

 

E o usuário se foi 😞

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!