• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

eumemyselfandi

Gerar chave com um mínimo e um máximo de números pares escolhidos aleatoriamente

4 mensagens neste tópico

Boa tarde,

Ando aqui com um problema que se resume em fazer um problema que: Gere uma Chave com um mínimo (m) e um máximo (M) de números pares escolhidos aleatoriamente, sendo m e M indicado pelo utilizador.

Tentei fazer com vectores mas está a dar muito problemas,nao é preciso explicar caso o numero seja repetido,porque esta situaçao já está resolvida e poem-se depois a parte.

O problema resume-se em que se disser que o numero minimo é 2 e o máximo é 3 ,numa chave de 7 (5 numeros e 2 estrelas) apareca 2 ou 3 numeros pares e o resto ímpar nos 7 numeros

Envio 2 exercicios que tentei resolver,1 usando o vectores e 2 nao usando vectores.

Se me pudessem ajudar agradecia.

:-)

Programa1:

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int m, M, i, j, b, aux, cont=1;
   srand (time(NULL));
   int chave[7];//tamanho do array
   printf("Escolha o numero minimo\n");
   scanf("%d",&m);
   printf("Escolha o numero maximo\n");
   scanf("%d",&M);
   system("cls");//apagar ecra*/
   printf("\n\n**Chave**\n");
   for(i=0;i<1;i=i+1)
   {
       for(j=0;j<=m;j=j+1)//minimo de pares
       {
           do
           {
               aux=0;
               chave[i]=rand()%50+1;
               if(chave[i]%2!=0)
               {
                   aux=1;
                   //break;
               }
               for(b=0;b<i;b=b+1)
               {
                   if(chave[b]==chave[i])
                   {
                       aux=1;
                       //cont=cont-1;
                       break;
                   }
               }
           }
           while(aux==1);
           printf(" %d #",chave[i]);
       }
   }

   return 0;
}

Programa2:

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int nump,i=0,a,aux,cont=0,b,j;
   //int par[5];
   //srand ( time(NULL) );
   do
   {
       printf("Introduza quantos numeros pares deseja!\n");
       scanf("%d",&nump);
   }
   while(nump<0 || nump>5);
   for(j=0;j<5;j++)
   {
       for(i=0;i<=nump;i++)
       {
           a=rand()%50+1;
           aux=a;
           if(aux%2==0)
           {
               printf("%d ",aux);
               //cont=cont+1;

           }

       }
   }
    //b=nump-cont;
    //printf("Faltam %d numeros pares  ",b);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou eu estou enganado ou isso é linguagem C.

Estás na secção errada...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, às vezes parece que ando a dormir, mas eventualmente alguém me acorda :)

[/offtopic]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora