Ir para conteúdo

Pergunta

Boa noite pessoal, preciso resolver um algoritmo que o código abaixo descreve. Eu possuo um vetor de porcentagens e cada porcentagem dessas é atribuida de um valor do vetor entrada_pop. Nesse programa eu quero gerar um numero aleatório e ver as porcentagens que são maiores que esse numero aleatório e armazenar o valor, não da porcentagem, mas do valor que representa a porcentagem, em um vetor novo, depois imprimir este vetor, só que não está indo. Alguém pode me ajudar?? Estou variando os valores de 0 a 100

#include <time.h>
#include<math.h>
#define num_individuo 3
#define tam_vetores 1000

int main()
{
    float valor_percen_aptidao[]={6,20,80},v_selecionado[100],vetor_entrada_pop[]={1,2,3};
    int cont=0,i,valor_percen;
    srand(time(NULL));
    while(cont<=num_individuo)
    {
        valor_percen=(rand()%100);
        printf("sorteado %d",valor_percen);
        for(i=0;i<num_individuo;i++)
        {
            if(valor_percen_aptidao[1]>=(float)valor_percen)
            {
                v_selecionado[cont]=vetor_entrada_pop;
                cont++;
            }
        }
    }
     for(i=0;i<num_individuo;i++)
    {
        printf("selecionados %.2f \n",v_selecionado);
    }
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

0 respostas a esta questão

Recommended Posts

Até agora não há respostas para essa pergunta

Crie uma conta ou entre para comentar

Você precisar ser um membro 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

  • Conteúdo Similar

    • Por melin
      Olá, estou com uma dúvida nesta questão que necessita da utilização de struct. A minha dúvida é como juntar as duas estruturas e compara-las para que seja imprimido o nome e sobrenome junto com a nota. Outra dúvida é o meu ciclo for que não é inicializado.
      Escreva um programa que preencha, a partir do teclado, duas estruturas distintas do tipo vetor com os nomes e as notas (as notas têm de estar contidas no intervalo 0 ≤ nota ≤ 10) dos alunos, respectivamente, de uma turma de 100 alunos. Após, exteriorize somente os nomes dos alunos que obtiveram notas iguais ou maiores que 5 (cinco).
       
      #include <stdio.h> struct nome { char nome; char sobrenome; }; struct nota{ int nota; }; int main(void){ int i,j,h; struct nome aluno[2]; struct nota boletim[2]; for (i = 0; i < 2; ++i){ printf("Digite o nome do Aluno\n"); scanf("%s%s", &aluno[i].nome, &aluno[i].sobrenome); printf("Digite a nota do Aluno\n"); scanf("%i", &boletim[i].nota); } for (i = 0; i < 2; ++i){ if (boletim[i].nota >= 2){ printf("O Aluno %s %s tem foi aprovado com nota %i", aluno[i].nome, aluno[i].sobrenome, boletim[i].nota); } } system("pause"); return 0; }  
    • Por daniele_c
      O professor em sala de aula, solicitou o seguinte trabalho de algoritmos 1:
      Escreva um algoritmo que utilize a biblioteca Util e gere uma cartela de BINGO com números aleatórios. Por exemplo, na coluna B temos números de 1-15, já na coluna I temos números de 16-30, etc. conforme imagem. No fim o algoritmo deve imprimir a cartela de bingo.
      Eu consegui gerar a tabela normalmente, mas eu não faço ideia de como não fazer com que em cada coluna, os números não se repitam. 
      Meu andamento abaixo:
       
      programa
      {
          inclua biblioteca Util --> u
          
          funcao inicio()
          {
              inteiro matriz[5][5], coluna, linha
              const inteiro tamanho=5
              para(linha=0; linha<tamanho; linha++){
                  para(coluna=0; coluna<tamanho; coluna++){
                  se(coluna==0){
                      matriz[linha][coluna]=u.sorteia(1,15)
                  }
                  se(coluna==1){
                      matriz[linha][coluna]=u.sorteia(16,30)
                  }
                  se(coluna==2){
                      matriz[linha][coluna]=u.sorteia(31,45)
                  }
                  se(coluna==3){
                      matriz[linha][coluna]=u.sorteia(46,60)
                  }
                  se(coluna==tamanho-1){
                      matriz[linha][coluna]=u.sorteia(61,75)
                  }
                  se (coluna==tamanho-1){
                      escreva(matriz[linha][coluna])
                  }
                  senao {
                      escreva(matriz[linha][coluna], ",")
                  }
                  }
                  escreva("\n")
          }
          }
      }
       
      E seguindo as questões, na nº2, ele pede o seguinte: Após, gerada uma cartela e impressa (parte 1) Adicione no algoritmo um código que faça automaticamente o sorteio de números aleatórios de 1 a 75. Após cada número sorteado, verificar se a cartela gerada fez um bingo de linha ou de coluna. Em seguida, deve-se imprimir o Bingo!
       
      sei gerar os 75 números tbm, mas, não sei como fazer para que faça as comparações e verificar se ocorreu o bingo. 
       
      Gostaria de algumas ideias, pliss
       
    • Por sudden
      Olá alguém que esteja lendo isso, tem dias que eu não consigo rodar esse algoritmo certo, não sei mais o que eu faço, nao sou nenhum desenvolvedor nem nada, tô no 1 semestre
      #include <stdio.h> #include <stdlib.h> //Inicio Structs struct telefones{ char numfixo[15]; char celular[16]; }; struct clientes{ double cpf; int codcliente; struct telefones t; char nome[30]; char sexo; }; struct produtos{ char nomeprod[20]; int codigoproduto; float valor; char modelo [10]; }; struct carrinhos{ struct clientes cliente[5]; struct produtos produto[5]; int quantidade; float subtotal; float desconto; // porcentagem float total; }; struct modelos{ char marca [20]; char modelo [20]; }; /////Fim Structs //Inicio Fun��o void cadastrarCliente(struct clientes cliente[50], int cont); void mostrarCliente(struct clientes cliente[50]); void mostraMenuPrincipal(); void mostrarProduto(struct produtos produto[50]); void cadastrarProduto(struct produtos produto[50],int contp); void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]); void ordenarCliente(struct clientes cliente[50]); // Inicio Main void main(int argc, char *argv[]) { int resposta,contp=0,cont=0,voltar=0; //cont e o contador do cliente, contp e do produto. struct produtos produto[50]; struct clientes cliente[50]; struct carrinhos carrinho[50]; struct modelos modelo[50]; ////////////inicio declarando structs para ele ter oque mostrar//////////////////////////////////// ///////////////////Ira direcionar o usuario no menu /////////////////////// do{ mostraMenuPrincipal(); scanf("%d", &resposta); switch(resposta) { case 1: cadastrarCliente(cliente, cont); cont=cont+1; //agora a proxima vez que for cadastrar um cliente, o indice vai ser um apos o anterior. system("pause"); break; case 2: cadastrarProduto(produto,contp); contp=contp+1; system("pause"); break; case 3: mostrarCliente(cliente); system("pause"); break; case 4: mostrarProduto(produto); system("pause"); break; case 5: efetuarCompra(carrinho,cliente,produto); system("pause"); break; case 6: ordenarCliente(cliente); contp=contp+1; break; default: exit(0); } }while(1); } ////////////////////////print menu /////////////////////////////////////////// void mostraMenuPrincipal(){ system("cls"); printf("==========================================================\n"); printf("1 - CADASTRAR CLIENTE\n"); printf("2 - CADASTRAR PRODUTO\n"); printf("3 - LISTA DE CLIENTES\n"); printf("4 - LISTA DE PRODUTOS\n"); printf("5 - EFETUAR VENDA\n"); printf("0 - SAIR DO MERCADO DIGITAL\n"); printf("==========================================================\n"); printf("Digite sua opcao: "); } ////////////////////////print cadastrar cliente /////////////////////////////////////////// void cadastrarCliente(struct clientes cliente[50],int cont){ system("cls"); printf("=======================================================\n"); printf("-----------------CADASTRAR CLIENTE: %d-----------------\n", cont+1); printf("=======================================================\n\n\n"); printf("AVISO! Digite o CPF da forma original com ponto e tra�os\n\n"); printf("CPF: "); fflush(stdin); //limpa o buffer scanf("%f",&cliente[cont].cpf); printf("NUM FIXO: "); fflush(stdin); scanf("%d", &cliente[cont].t.numfixo); printf("CELULAR: "); fflush(stdin); scanf("%d", &cliente[cont].t.celular); printf("NOME: "); fflush(stdin); gets(cliente[cont].nome); printf("DATA NASCIMENTO: "); fflush(stdin); cliente[cont].codcliente=cliente[cont].cpf/100000; printf("\n==========================================================\n"); printf("O CODIGO DO CLIENTE GERADO E: %d",&cliente[cont].codcliente); printf("\n"); //Printa o cliente que foi cadastrado printf("\nCPF: %d",cliente[cont].cpf); printf("\nNUM FIXO: %d",cliente[cont].t.numfixo); printf("\nCELULAR: %d",cliente[cont].t.celular); printf("\nNOME: %s",cliente[cont].nome); printf("\n=================================================\n"); } ////////////////////////print listar cliente /////////////////////////////////////////// void mostrarCliente(struct clientes cliente[50]){ int repet=0; printf("================================================\n"); printf("----------------- LISTAR CLIENTE -----------------\n"); printf("================================================\n"); for(repet=0;repet<=2;repet++){ printf("\nCPF: %d",cliente[repet].cpf); printf("\nNUM FIXO: %d",cliente[repet].t.numfixo); printf("\nCELULAR: %d",cliente[repet].t.celular); printf("\nNOME: %s",cliente[repet].nome); printf("\nCODIGO DO CLIENTE: %d\n",cliente[repet].codcliente); } } ////////////////////////print cadastrar produto /////////////////////////////////////////// void cadastrarProduto(struct produtos produto[50],int contp){ printf("=================================================\n"); printf("-----------------CADASTRAR PRODUTO: %d-----------------\n", contp+1); printf("=================================================\n"); printf("CODIGO DO PRODUTO: \n"); scanf("%d",&produto[contp].codigoproduto); printf("\nNOME DO PRODUTO: "); fflush(stdin); gets(produto[contp].nomeprod); printf("\nMARCA: "); (stdin); printf("\nMODELO: "); fflush(stdin); printf("\nVALOR: "); fflush(stdin); scanf("%f",&produto[contp].valor); //agora printar produto printf("\nCODIGO DO PRODUTO: %d\n",produto[contp].codigoproduto); printf("\nNOME DO PRODUTO: %ss\n",produto[contp].nomeprod); printf("\nVALOR DO PRODUTO: R$ %0.2f\n",produto[contp].valor); printf("\nMODELO DO PRODUTO: %s", produto[contp].modelo); } ////////////////////////print listar produtos /////////////////////////////////////////// void mostrarProduto(struct produtos produto[50]){ int repet; printf("================================================\n"); printf("----------------- LISTAR PRODUTO -----------------\n"); printf("================================================\n"); for(repet=0;repet<=9;repet++){ printf("\n\nCODIGO DO PRODUTO: %d",produto[repet].codigoproduto); printf("\nNOME DO PRODUTO: %s",produto[repet].nomeprod);543; printf("\nVALOR DO PRODUTO: R$ %0.2f\n\n",produto[repet].valor); } } //pode ser de haja erro na compra void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]){ int buscacliente,x; int buscaprod,buscaprod2,buscaprod3; int quantidade,quantidade2,quantidade3; float total,total2,total3; float totalum,todototal,cupom,desc; float fimtotal; mostrarCliente(cliente); printf("\n\nDigite o codigo do cliente: "); scanf("%d",&buscacliente); for(x=0;x<=50;x++){ int y; if(cliente[x].codcliente==buscacliente){ y=1; } if(y==1){ buscacliente=x; y=51; } } system("cls"); mostrarProduto(produto); printf("\ncarrinho do cliente %s",cliente[buscacliente].nome); printf("\ndigite o codigo do produto 1: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total = quantidade * produto[buscaprod].valor; //REPETICAO///////////////////// printf("\ndigite o codigo do produto 2: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total2 = quantidade * produto[buscaprod].valor; //REPETICAO///////////////////// printf("\ndigite o codigo do produto 3: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total3 = quantidade * produto[buscaprod].valor; //system("pause"); printf("digite o cupom de desconto: "); scanf("%f", &cupom); todototal = total + total2 + total3; desc = todototal * (cupom / 100); fimtotal = todototal - desc; printf("Total: R$ %0.2f\n", todototal); printf("Valor do Desconto: R$ %0.2f\n", desc); printf("Valor total e R$ %0.2f\n", fimtotal); system("pause"); } void ordenarCliente(struct clientes cliente[50]){ int i,b; int codigotemp,cpftemp,fixotemp,celulartemp,datanasctemp; char nometemp; printf("Organizando lista...\n"); for(i=0;i<=3;i++){ for(b=0;b<=3;b++){ if(cliente[b].codcliente>cliente[b+1].codcliente){ //valores para variaveis temporarias printf("transferindo valores para variaveis temporarias...\n"); codigotemp=cliente[b].codcliente; fixotemp=cliente[b].t.numfixo; celulartemp=cliente[b].t.celular; //strcpy(nometemp , cliente[b].nome); nometemp=cliente[b].nome; cpftemp=cliente[b].cpf; printf("variaveis temporarias transferidas.\n"); //fim da transferencia de valores para variaveis temporarias //fazer os valores de indice b receber o valor do indice da struct do indice seguinte printf("cliente %d recebendo valores do cliente... %d\n",b,b+1); cliente[b].codcliente=cliente[b+1].codcliente; strcpy(cliente[b].nome , cliente[b+1].nome); cliente[b].cpf=cliente[b+1].cpf; printf("cliente %d recebeu valores do cliente %d\n",b,b+1); //fim da transferencia de valores do segundo para o primeiro indice //inicio dE transferencia de valores do primeiro indice para o segundo indice printf("cliente %d recebendo valores das variaveis temporarias...\n",b+1); cliente[b+1].codcliente=codigotemp; printf("recebeu codigo do cliente.\n"); //cliente[b+1].nome=nometemp; strcpy(cliente[b+1].nome,nometemp); //sprintf(cliente[b+1].nome,nometemp); printf("recebeu nome\n"); cliente[b+1].cpf=cpftemp; printf("recebeu cpf\n"); printf("cliente %d recebeu valores das variaveis temporarias\n",b+1); printf("---- ---- ---- ---- "); } } } printf("Operacao concluida.\n"); }  
    • Por novo na programação
      O sistema consiste em ler os dados cadastrados (valores estáticos) de uma entrevista e
      fornecer as informações para as seguintes perguntas:
       
      1 - Quantidade de mulher e homens na área? (% de cada sexo)
      2 - Faixa etária? (Menor e maior idade por sexo). Criar um vetor idade para cada sexo.
      3 - Quem ganha mais? Homem ou Mulher? (Comparar médias de salários)
      4 - Quem é mais especializado? (Comparar quantidade com pós-graduação %)
       
      Ex1. Perguntas?
      Sexo (1- H, 2-M)
      Idade (?)
      Salário (?)
      Possui pós-graduação? (1-S, 2-N)

      Entrada (estática)

      Entrevistado 1
      Sexo = 1
      Idade = 19
      Salário = 4.000,00
      Possui pós-graduação = 2

      Entrevistado 2
      Sexo = 2
      Idade = 25
      Salário = 3.000,00
      Possui pós-graduação = 1

      Entrevistado 3
      Sexo = 1
      Idade = 18
      Salário = 5.000,00
      Possui pós-graduação = 2

      Entrevistado 4
      Sexo = 1
      Idade = 23
      Salário = 6.000,00
      Possui pós-graduação = 1 

      Entrevistado 5
      Sexo = 2
      Idade = 30
      Salário = 2.000,00
      Possui pós-graduação = 1

      SAÍDA
      1 - Quantidade de mulher e homens na área?
      60% homens e 40% mulheres
      2 - Faixa etária?
      homens (18-23) e mulheres (25-30)
      3 - Quem ganha mais? Homem ou Mulher?
      Homens (média 5.000,00) e Mulheres (média 2.500,00)
      4 - Quem é mais especializado?
      homens - 33% e mulheres - 100%
      Cálculo = qtdhomens com pós/qtdhomens *100
    • Por wiccaale
      Um programa que leia e armazene em vetores até 1000 cpfs, 1000 nomes e 1000 salários (com precisão de duas casas decimais) enquanto a entrada de CPF for maior que zero. Ao final, o programa deverá apresentar a soma de todos os salarios, a média e quantos cpf validos foram cadastrados.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.