Ir para conteúdo

POWERED BY:

Arquivado

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

Mia132

Vetores que armazenam e calculam médias

Recommended Posts

Olá! Tô com dúvida nesse exercício:

 

Cada pesquisador do eBOPE recebe 100 fichas para uma pesquisa em uma determinada região. O pesquisador deve conseguir 100 voluntários e coletar, de cada um, as seguintes informações:sexo (M ou F), idade, renda mensal e escolaridade. O campo escolaridade apresenta a seguinte codificação: 0–analfabeta; 1-fundamental, 2-médio, 3-superior. Faça um programa que leia cada uma dessas fichas, armazene-as na memória e, ao final, mostre as seguintes estatísticas: a média da renda mensal de cada sexo; a média da renda mensal para cada uma das escolaridades; e a média da renda mensal para cada uma das seguintes faixas de idade: 0 a 18, 19 a 29, 30 a 45, 46 a 65, 65 ou mais.

 

Comecei um código com 4 vetores, um para cada dado, mas não sei como fazer o cálculo. Por favor, ajudem. Vlw!

 

#include <stdio.h>

int main()
{
char sexo [100];
int idade [100];
float renda [100];
int escol [100];
int s,i,r,e;

for (s=0;s>100;s++);
{
printf ("Sexo:");
scanf ("%c",&sexo);
}

for (i=0;i>100;i++);
{
printf ("Idade:");
scanf ("%d",&idade);
}

for (r=0;r>100;r++);
{
printf ("Renda:");
scanf ("%f",&renda[r]);
}

for (e=0;e>100;e++);
{
printf ("Escolaridade:");
scanf ("%d",&escol[e]);
}



}
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já aprendeu sobre struct?

 

http://pt.wikibooks.org/wiki/Programar_em_C/Estruturas

 

A fórmula para calcular média é a soma de todos os elementos dividido pela quantidade de elementos.

 

Por exemplo, supondo que queira calcular a media da renda mensal das 100 pessoas:

float totalRenda = 0.0;
float mediaRenda = 0.0;
int contaPessoas = 0;
for(int i = 0; i<100; i++) {
	totaRenda = totaRenda + renda;
        contaPessoas++;
}
mediaRenda = (totaRenda/contaPessoas);

Mas perceba que no enunciado pede a média de renda de pessoas de cada sexo. Logo, é necessário um if para saber qual o sexo da pessoa antes de considerar a renda dela no cálculo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pela dica! Não posso usar struct, pq o professor ainda não ensinou. Meu código ficou cheio de erros..por favor ajudaaaa


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

int main()
{
    char f, m, sexo [100];
    int idade [100];
    float media_id5, renda_id5, media_id4, renda_id4, media_id3, renda_id3, media_id2, renda_id2, media_sup, renda_sup, media_med, renda_med, media_fun, renda_fun, media_analfa, renda_analfa, mediam, rendam, mediaf, rendaf, renda [100];
    int id5, conta_id5, id4, conta_id4, id3, conta_id3, id2, conta_id2, sup, conta_sup, med, conta_med, fun, conta_fun, analfa, conta_analfa, contam, x, y, contaf, s, i, r, e, escol [100];

    for (s=0;s>100;s++);
    {
        printf ("Sexo:");
        scanf ("%c",&sexo[s]);
    }

    for (i=0;i>100;i++);
    {
      printf ("Idade:");
      scanf ("%d",&idade[i]);
    }

    for (r=0;r>100;r++);
    {
      printf ("Renda:");
      scanf ("%f",&renda[r]);
    }

    for (e=0;e>100;e++);
    {
      printf ("Escolaridade:");
      scanf ("%d",&escol[e]);
    }

    if (sexo[]=={f})
    {
        rendaf = 0.0;
        mediaf = 0.0;
        contaf = 0;
        for( y = 0; y<100; y++)
        {
                rendaf = rendaf + renda;
                contaf++;
        }
        mediaf = (rendaf/contaf);
    }
    else
    {
        rendam = 0.0;
        mediam = 0.0;
        contam = 0;
        for( x = 0; x<100; x++)
        {
                rendam = rendam + renda;
                contam++;
        }
        mediam = (rendam/contam);
    }
    if (escol[]=={0})
        {
            renda_analfa = 0.0;
            media_analfa = 0.0;
            conta_analfa = 0;
            for( analfa = 0; analfa<100; analfa++)
            {
                renda_analfa = renda_analfa + renda;
                conta_analfa++;
            }
            media_analfa = (renda_analfa/conta_analfa);
        }
        else
        {
            if (escol[]=={1})
            {
                renda_fun = 0.0;
                media_fun = 0.0;
                conta_fun = 0;
                for( fun = 0; fun<100; fun++)
                {
                        renda_fun = renda_fun + renda;
                        conta_fun++;
                }
                media_fun = (renda_fun/conta_fun);
            }
        }
        else
        {
            if (escol[]=={2})
                {
                    renda_med = 0.0;
                    media_med = 0.0;
                    conta_med = 0;
                    for( med = 0; med<100; med++)
                    {
                            renda_med = renda_med + renda;
                            conta_med++;
                    }
                    media_med = (renda_med/conta_med);

                }
        }
        else
        {
            renda_sup = 0.0;
            media_sup = 0.0;
            conta_sup = 0;
            for( sup = 0; sup<100; sup++)
            {
                    renda_sup = renda_sup + renda;
                    conta_sup++;
            }
            media_sup = (renda_sup/conta_sup);
        }
        if (idade[]=={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18})
                {
                    renda_id1 = 0.0;
                    media_id1 = 0.0;
                    conta_id1 = 0;
                    for( id1 = 0; id1<100; id1++)
                    {
                            renda_id1 = renda_id1 + renda;
                            conta_id2++;
                    }
                    media_id1 = (renda_id1/conta_id1);

                }
                else
                {
                    if (idade[]=={19,20,21,22,23,24,25,26,27,28,29})
                        {
                            renda_id2 = 0.0;
                            media_id2 = 0.0;
                            conta_id2 = 0;
                            for( id2 = 0; id2<100; id2++)
                            {
                                renda_id2 = renda_id2 + renda;
                                conta_id2++;
                            }
                            media_id2 = (renda_id2/conta_id2);
                        }
                }
                else
                {
                    if (idade[]=={30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45})
                        {
                            renda_id3 = 0.0;
                            media_id3 = 0.0;
                            conta_id3 = 0;
                            for( id3 = 0; id3<100; id3++)
                            {
                                renda_id3 = renda_id3 + renda;
                                conta_id3++;
                            }
                            media_id3 = (renda_id3/conta_id3);
                        }
                }
                else
                {
                    if (idade[]=={46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65})
                        {
                            renda_id4 = 0.0;
                            media_id4 = 0.0;
                            conta_id3 = 0;
                            for( id4 = 0; id4<100; id4+)
                            {
                                renda_id4 = renda_id4 + renda;
                                conta_id4++;
                            }
                            media_id4 = (renda_id4/conta_id4);
                        }
                }
                else
                {
                            renda_id5 = 0.0;
                            media_id5 = 0.0;
                            conta_id5 = 0;
                            for( id5 = 0; id5<100; id5+)
                            {
                                renda_id5 = renda_id5 + renda;
                                conta_id5++;
                            }
                            media_id5 = (renda_id5/conta_id5);
                }

                printf ("\n  Renda Mensal: \n ");
                printf ("\n Por Sexo \n");
                printf ("Feminino: %f\n",mediaf);
                printf ("Masculino: %f \n",mediam);
                printf (" \n Por Escolaridade \n");
                printf ("Analfabetas: %f\n",media_analfa);
                printf ("Fundamental: %f \n",media_fun);
                printf ("Medio: %f \n",media_med);
                printf ("Superior: %f \n",media_sup);
                printf ("\n Por Idade \n");
                printf ("0 a 18 anos: %f \n",media_id1);
                printf ("19 a 29 anos: %f \n",media_id2);
                printf ("30 a 45 anos: %f \n",media_id3);
                printf ("46 a 65 anos: %f \n",media_id4);
                printf ("Acima de 65: %f \n",media_id5);

    return 0;
}


Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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