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

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por jeredy
      Tenho um trabalho da faculdade e não consigo fazer rodar o programa corretamente.
      Quando eu coloco o cpf, na hora de imprimir sai um número aleatório. Creio que possa ser por falta de memória pois se coloco um número menor ele sai certo, porém não consigo adicionar memória em cpf.
       
      Obs: ainda não fiz a parte dos menores e da medial do grupo e a parte de imprimir em tabela pois não consegui fazer funcionar nem um básico mas se alguém souber essa parte também e puder me ajudar agradeço!!
       
      #include <stdio.h> #include <stdlib.h> main(){ struct funcionarios{ int *cpf; char nome[30]; int nascimento; float salario; }; int aux=0; //para testar se for 0 antes de armazenar o cpf struct funcionarios *func; int qtdLeitura=0, i=0, cont=0; func = ((struct funcionarios *) (malloc(sizeof(struct funcionarios) * 1))); while(1){ printf("Digite o cpf %d: ", i+1); scanf("%d", &aux); if(aux!= 0){ func.cpf = aux; fflush(stdin); } else{ break; } if(func != NULL){ qtdLeitura++; func = ((struct funcionarios *) realloc(func, sizeof(struct funcionarios) *(qtdLeitura+1))); } printf("Digite o nome %d: ", i+1); scanf("%s", func.nome); printf("Digite o nascimento %d: ",i+1); scanf("%d", &func.nascimento); printf("Digite o salario %d: ",i+1); scanf("%f", &func.salario); cont++; i++; } printf("\n\n"); for(i=0;i<cont;i++){ printf("Cpf %d:%d \n",i+1, func.cpf); printf("Nome %d: %s\n",i+1, func.nome); printf("Nascimento %d: %d\n",i+1, func.nascimento); printf("Salario %d: %.2f\n",i+1, func.salario); } }
       

    • Por Edwar Saliba Jr.
      Boa tarde Senhores(as)!
       
      O código-fonte a seguir é a miniaturização de um problema maior no qual estou trabalhando.
       
      Preciso imprimir os valores do vetor gerado pela função "fazVetor", na função "main".
       
      Porém, para que o código se assemelhe ao problema real no qual estou trabalhando, existem duas restrições que devem ser respeitadas. Estas estão comentadas no código a seguir.
       
      #include <stdio.h> #include <stdlib.h> #define TAM 3 int fazVetor(int **vet){ int *array = malloc(sizeof(int) * TAM); array[0] = 4; array[1] = 7; array[2] = 8; /* nesta função somente a linha a seguir pode ser alterada. */ *vet = array; } int main() { int **qq; /* Na função main, somente a linha a seguir NÃO PODE ser alterada. */ fazVetor(&qq); printf("\n--==[Valores do Vetor]==--\n\n"); for(int i = 0; i < TAM; i++){ printf(" %d", (qq[i])); } printf("\n\n"); return 0; }  
      O único objetivo é a impressão dos valores do vetor na função "main". Respeitadas as devidas restrições.
       
      De antemão, muito obrigado!
       
       
      Edwar Saliba Jr.
    • Por mauricio lanner
      Bom dia pessoal, estou com um probleminha, preciso entregar hoje um trabalho de faculdade em algoritimos computacionais, mas to me batendo muito.
      A questão é assim:
       
      Faça um programa que leia números do teclado e os armazene em um vetor alocado dinamicamente. O usuario irá digitar uma sequência de números, sem limite de quantidade. Os números serão digitados um a um e, sendo que caso ele deseje encerrar a entrada de dados, ele irá digitar o numero ZERO. Os dados devem ser armazenados na memória deste modo:
          • Inicie com um vetor de tamanho 10 alocado dinamicamente;
          • Apos, caso o vetor alocado esteja cheio, aloque um novo vetor do tamanho do vetor anterior adicionado espaço para mais 10 valores (tamanho N+10, onde N inicia com 10);
          • Copie os valores já digitados da área inicial para esta área maior e libere a memória da área inicial;
          • Repita este procedimento de expandir dinamicamente com mais 10 valores o vetor alocado cada vez que o mesmo estiver cheio. Assim o vetor ira ser ’expandido’ de 10 em 10 valores.
       
      O grande problema que estou tendo é que não consigo fazer o while repetir da forma que preciso. iniciei o programa assim:
      #include <stdio.h> #include <stdlib.h> main(){ int *vetor,tam=10,i=0; vetor = malloc(sizeof(int)*tam); while (vetor!=0 || i<tam){ scanf("%d",vetor+i); printf("%d i \n",i); i++; } for(i=0;i<tam;i++){ printf("indice %d vetor %d\n",i,vetor+i); } } mas o ||(ou) não quer funcionar, ou ele usa um como parametro ou usa a outra regra.
      Alguem consegue me ajudar a resolver isso?
    • Por Sr.Hozuki
      Estou estudando listas em C, e sinceramente, estou achando a coisa mais difícil do mundo porque não sei bem a aplicação disso. Alguém sabe um livro ou pode ser até um pdf que mostre como funciona uma lista? Tipo, dando os conceitos e tal, mas mostrando um código que de para entender bem, porque nos livros que vi dão apenas o conceito e o cara que se vire para usar aquela coisa de tipo abstrato de dados, estou bem confuso D: Agradeço a quem ajudar
×

Informação importante

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