Ir ao conteúdo

Erro idiota


Skoitoman

Posts recomendados

Postado

alguém pode me ajudar?!?!?! Sou um ninfeto em C, preciso fazer a chamada da função GeraListaRand para exibir numeros randomicos, independente do algoritimo dessa função, não estou comseguindo fazer a chamada, alguém poderia me dizer qual é o erro.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#define MAXOUT 255

#define MAXLIN 15

void GeraListaRand(unsigned [], unsigned);

void MostraLista(unsigned [], unsigned);

unsigned L[1000];

main(){

clrscr();

int a;

randomize();

printf("digite a quantidade de numeros: \n");

scanf("%u", &a);

MostraLista(L,a);

}

void GeraListaRand(unsigned L[], unsigned n)

{

int i,j,a;

for(i=0;i<n-1;i++)

{

L=random(a);

for(j=0;j<i;j++)

{

if(L[j]==L)

{

i--;

break;

}

}

}

}

void MostraLista(unsigned L[], unsigned n)

{

int lin=4, col=1,i,j;

for(i=0;i<n;i++)

{

gotoxy(col,lin);

printf("%u", GeraListaRand(L,i)); /*Ta dando ##### essa chamada*/

if(col<=70){

col=col+5;

}

else{

col=1;

lin++;

}

if (lin==21){

printf("\nPressione qualquer tecla para continuar");

getch();

clrscr();

lin=1;

}

}

getch();

}

Postado

printf("%u", GeraListaRand(L,i));

Quando você chama a função "printf", na lista de argumentos a função printf espera um dado "unsigned" e função GeraListaRand não retorna nada, pois seu retorno é do tipo void.

Postado

o L que você acessa dentro das funções não é o mesmo L declarado como global, é uma cópia do L global que é destruída ao final da função.

a função GeraListaRand, como dito anteriormente, tem valor de retorno nulo (void) portanto ela n retorna nada, tornando a chamada printf("%u", GeraListaRand(L,i)); inválida...

se você não quer alterar o void terá que usar um ponteiro ou retirar o parametro L e utilizar somente o L de escopo global...porém mesmo com void ou sem a chamada printf("%u", GeraListaRand(L,i)); será invalida pois a função GeraListaRand gera um vetor e a função printf não consegue imprimir um vetor diretamente, tem que ser feito um laço de repetição para isso...

falou! acho que é isso

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!