1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

C++ Help

Discussão em 'Programação' iniciada por bumblechord, 3 de Dezembro de 2008. (Respostas: 5; Visualizações: 609)

  1. bumblechord

    bumblechord Power Member

    Tou aqui com umas dificuldades em fazer uma coisa ,será que me podem ajudar ??


    Tenho de fazer um exercicio e é o seguinte:

    Escreva um programa em C++ (utilizando arrays) que apresente no ecrã:
    - a média das idades de n alunos de uma turma;
    - o número de alunos com idade inferior a média das idades da turma ;
    - a idade do aluno mais velho;




    Estou com um problema, na declaraçao do array

    Código:
    #include <iostream>
    using namespace std;
    main () {
        int i,n,max,soma,nidade;
        float media;
        int idades [n];
        cout << "Introduza o número de alunos que a turma tem";
        cin >> n;
            for (i = 0; i< n; i++){
        cout << "Introduza uma idade para o "<<i<<"aluno"'\n';
        cin << idades [i];
            soma += idades [i];}
        if (n>0) 
            media = soma/n;
            cout<< "Média das idades é "<<media;
            max = idade [0];
        for (i = 0 ;i<n; i++){
        if (idade[i]<media) nidade+=1;
        if (max<idade[i]) max = idade[i];}
    }
     
    inda nao está todo feito

    queria saber como posso declarar a array declarando o número de indices depois :S

    cumprimentos e agradeço ajuda
     
    Última edição pelo moderador: 4 de Dezembro de 2008
  2. Baderous

    Baderous Banido

    Não podes. Ao declarares o array, o compilador vai reservar espaço em memória para o colocar lá, e esse espaço depende da sua dimensão e do seu tipo de dados. Ora se ele não souber quantos elementos o array vai ter na altura da sua declaração, então como vai saber quanta memória vai alocar?
     
  3. bumblechord

    bumblechord Power Member

    Posso entao declarar o array depois de saber o valor de n ?
     
  4. Baderous

    Baderous Banido

    Tens de declarar o array só depois de saberes o valor de n.
     
  5. OubeLa

    OubeLa Power Member

    Na teoria, podes fazer o que queres com alocação de memória dinâmica. Mas na prática, só depois de saberes o tamanho é que realmente ele cria o array.
    Código:
    int * idades;
    //inicializar n, dar valor a n
    idades = new int[n];
    //...
    //no final não esquecer o delete
    delete [] idades;
    
     
    Última edição pelo moderador: 4 de Dezembro de 2008
  6. bumblechord

    bumblechord Power Member

    Código:
    #include <iostream>
    using namespace std;
    main () {
    int i,n,inf=0,max;
    int * idades;
    float soma = 0, media = 0;
    cout<<"Quantos alunos tem a turma ?";
    cin>>n;
    idades = new int [n];
    for (i = 0 ; i < n ; i++){
    cout<<"Introduza a idade do aluno n "<<i+1; 
        cin >> idades[i] ;
    soma = soma + idades [i]; }
    if (n>0) {
        media = soma/n;
        cout<<"Média ="<<media ;
        max = idades[0];
        for ( i = 0 ;i<n; i++){
            if (idades[i]<media) inf+=1;
            if (max<idades[i]) max = idades[i];
        }
    cout << "Existem "<<inf<<" alunos com idade inferior à media"<<'\n';
    cout << "O "<<max<<" aluno é o mais velho da turma";
    delete [ ] idades;
    }
    }
    
     
    Última edição pelo moderador: 4 de Dezembro de 2008

Partilhar esta Página