Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com Array


matheus ximenes

Pergunta

Olá, sou iniciante em programação, aprendi hoje sobre array, tenho uma dúvida, se eu tenho um programa que deva calcular médias de notas de alunos, como eu faria para o array ter um número de slots definido pelo usuário? Segue o código abaixo: 

int main()
{

    float numAlunos;
    float media = 0;

    cout << "Insira o numero de alunos: "
    cin >> numAlunos;
    cout << endl;

    float n[numAlunos];
    for(int k=0; k<=numAlunos; k++)
    {
        cout << "media do aluno: ";
        cin >> n[k];
        media += n[k];
    }

    media = media/numAlunos;

    cout << "A media é: " << media <<endl;

    return 0;
}

Agradeço a atenção.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Em c++ isso não é possível, a menos que você use array dinâmico. Em C sim é possível em alguns padrões, não em todos, isso se chama VLA(Variable-length array) em C, também conhecido como Array de Tamanho Variável, mas como falei isso só é possível em C, e em alguns padrões, não em todos.

Veja como reservar dinamicamente um array em c++:

#include <iostream>
using namespace std;

int main (){
    
    int tamanho = 10; //Tamanho que vai ter o vetor
    int *vetor;       //Ponteiro que vai apontar ao array no free storage
    
    vetor = new int[tamanho]; //New reserva a memoria e guarda essa direção no vetor
    
    //guardamos 10 inteiros no vetor
    for (int i=0; i<tamanho ; i++ ) {
        vetor[i] = i;
    }
    
    //Imprimimos o vetor
    for (int i=0; i<tamanho ; i++ ) {
        cout << vetor[i] << ", ";
    }    
    
    //Passo muito importante é liberar o vetor. Vetores dinâmicos n4ao se liberam sozinhos como arrays no heap(arrays normais na pilha)
    delete[] vetor;
    
    cin.ignore(); //pausa
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...