Ir ao conteúdo
  • Cadastre-se

C Vetor definido pelo usuário


Cohiba

Posts recomendados

Eu estou tentando criar um algoritmo pra calcular média de notas mas não consigo criar um vetor que seja definido pelo usuário; eu preciso que o usuário insira a quantidade de tarefas que ele fez (isso seria o tamanho do vetor) e a nota de cada uma delas. Alguém pode me ajudar ?

--------------------------------------------------------------------------------------------------------------------

void main(){


    int ntarefa;



//Calculando media das tarefas
    printf("Quantas tarefas foram passadas pelo professor: ");
    scanf("%d", &ntarefa["%d"]);



    do{
        printf("Insira a nota da tarefa: ");
        scanf("%f", &ntarefa["%d"]);
        ntarefa--;
        ntarefa["%d"], ntarefa;
    }while(ntarefa >= 0);


system("pause");
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

A maneira correta seria reservar memoria do sistema dinamicamente.

 

exemplo

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


int main(void)
{
  int *vetor,cont,tamanho;
  printf("\nDigite o tamanho do vetor:\t");
  scanf("%d%*c",&tamanho);
  /* Aloca memoria dinamicamente */
  vetor=malloc(sizeof(int)*tamanho);
  /* Preenche o vetor com numeros */
  for(cont=0; cont<tamanho; cont++)
    vetor[cont]=cont+1;
  /* Mostra o vetor para o usuario */
  for(cont=0; cont<tamanho; cont++)
    printf("\n%d",vetor[cont]);
  /* Pausa */
  getchar();
  /* Libera a memoria alocada */
  free(vetor);
  return(0);
}

 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

1 hora atrás, caiobcc disse:

Como assim dinamicamente?

A memoria para o vetor vai ser definida dinamicamente no tempo de execução do programa.

 

Exemplo: int vetor[4]; Isso é uma definição estática, é ela vai existir enquanto o bloco de código que contém a variável for executado.

Agora no caso de int *vetor=malloc(sizeof(int)*4); você teria que eventualmente apagar essa alocação de memoria (isso quer dizer que foi alocado dinamicamente), porque se deixar vai acabar provocando um vazamento de memoria.

 

Para mais detalhes veja aqui https://www.ime.usp.br/~pf/algoritmos/aulas/aloca.html

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...