-
Posts
46 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Gabbie1 postou
-
@devair1010 @KXSY CONSEGUI!!!!! Só vim comunicar vcs. Perguntei no grupo e os guris disseram que tinha que mudar a extensão pra .cpp porque essa passagem de parâmetro foi adicionada no c++, e como o c++ ainda aceita a sintaxe do c, não tem problema mudar adicionado 1 minuto depois Obrigada vcs dois pelas dicas, boa vontade e paciência em ajudar!!!!!
-
@KXSY Ok. Vou dar uma olhada :3
-
@KXSY Acho que a lógica é que o tamanho max é uma constante lá em cima. Daí tu vai incluindo os espaços usando uma variável (no caso o tl). Daí vamos supor que a constante seja o tamanho 50, daí eu decido incluir 10 valores porque tô cansada ao invés de ter que incluir os 50, daí eu uso o tl pra definir os espaços preenchidos. Daí o meu vetor[tl] tem tamanho 10, eu removo 1, o vetor[tl] vai virar 9. Creio que a lógica seja essa, mas esse & é meio wtf.
-
@devair1010 porque eu tô estudando pra prova e ela pode cobrar isso Um vetor que tu pode ir incluindo elementos conforme desejar ou remover determinada posição do vetor, daí o vetor teria que diminuir. Ela resolve algum exercício como exemplo e eu tô implementando nos outros exercícios pra praticar e estudar pra prova.
-
Alguém pode me dizer se esse &tl na função pra modificar o tamanho do vetor funciona mesmo? Se sim, onde posso ter errado? Minha professora resolveu um exercício pra manipular vetor desta maneira, tô testando mas ele não compila. Diz que o operador & exige um ; ou , logo em seguida. / *Faça um programa que controle o fluxo de vôos de aeroportos de um pais. Suponha 5 voos e 5 aeroportos. Faça: ? Crie e leia um vetor de vôos, sendo que cada vôo contem um código de aeroporto de origem e um de destino; ? Crie um vetor de aeroportos, sendo que cada aeroporto contem seu código, quantidade de vôos que saem e quantidade vôos que chegam. NOTA: cada aeroporto é identificado por 3 letras (BRA=Brasília; PVH=porto velho; CGH = congonhas; REC=recife;GRU=Guarulhos) */ #include <stdio.h> #include <string.h> #define tf 50 struct voos { int codvoo; char codorigem[4]; char coddest[4]; }; struct aeroporto { int codaero; int qtdade_saem; int qtdade_chegam; }; void leituravoos (struct voos vetor_voos[tf], int &tl){ int i; printf ("\nQuantos voos deseja incluir? "); scanf ("%d", &tl); for (i=0; i<tl; i++){ printf ("\nEntre com o codigo do voo: "); scanf ("%d", &vetor_voos[i].codvoo); printf ("\nEntre com o codigo de origem: "); fflush (stdin); fgets (vetor_voos[i].codorigem, 4, stdin); printf ("\nEntre com o codigo de destino: "); fflush (stdin); fgets (vetor_voos[i].coddest, 4, stdin); } } void leituraeroportos (struct aeroporto vetor_aeroportos[tf], int &tl){ int i; printf ("\nQuantos aeroportos deseja incluir? "); scanf ("%d", &tl); for (i=0;i<tl;i++){ printf ("\nEntre com o codigo do aeroporto: "); scanf ("%d", &vetor_aeroportos[i].codaero); printf ("\nEntre com a quantidade de voos que saem desse aeroporto por dia: "); scanf ("%d", &vetor_aeroportos[i].qtdade_saem); printf ("\nEntre com a quantidade de voos que entram nesse aeroporto por dia: "); scanf ("%d", &vetor_aeroportos[i].qtdade_chegam); } } void exibevoos (struct voos vet_voos[tf], int tl){ int i; for (i=0;i<tl;i++){ printf ("\nCodigo do voo: %d", vet_voos[i].codvoo); printf ("\nCodigo de origem: %s", vet_voos[i].codorigem); printf ("\nCodigo de destino: %s", vet_voos[i].coddest); } } void exibeaeroportos (struct aeroporto vet_aero[tf], int tl){ int i; for (i=0; i<tl; i++){ printf ("\nCodigo do aeroporto: %d", vet_aero[i].codaero); printf ("\nQuantidade de voos que saem: %d", vet_aero[i].qtdade_saem); printf ("\nQuantidade de voos que chegam: %d", vet_aero[i].qtdade_chegam); } } void buscar (struct voos vetor_voos[tf], int cod, int tl){ int i, posicao = -1; for (i=0;i<tl;i++){ if (vetor_voos[i].codvoo == cod){ posicao = i; printf ("\nVoo encontrado na posicao %d", i); printf ("\nCodigo do voo: %d", vetor_voos[i].codvoo); printf("\nCodigo de origem: %s", vetor_voos[i].codorigem); printf ("\nCodigo de destino: %s", vetor_voos[i].coddest); }//fim do if }//fim do for if (posicao == -1) printf ("\nNão achou!"); } void removervoo (struct voos vet_voos[tf], int remover, int &tl){ int i; int posicao = -1; posicao = busca (vet_voos, remover); if (posicao == -1) printf ("\nNao achou!"); else { printf ("\nAchou - vai remover"); for (i=posicao;i<tl-1;i++) vt[i] = vt[i+1]; tl--; printf ("\nRemovido com sucesso!"); } } int main (){ struct voos vetor_voos[tf]; struct aeroporto vetor_aeroportos[tf]; int opcao = 0; int remover; int codigo; int tl; while (opcao != 7){ printf ("\n\n############# MENU #################"); printf ("\n1 - Carregar vetor de voos"); printf ("\n2 - Carregar vetor de aeroportos"); printf ("\n3 - Exibir vetor de voos"); printf ("\n4 - Exibir vetor de voos"); printf ("\n5 - Buscar um voo"); printf ("\n6 - Remover um voo"); printf ("\n7 - Sair"); printf ("\nQual a sua opcao? "); scanf ("%d", &opcao); switch (opcao) { case 1: leituravoos (vetor_voos, tl); break; case 2: leituraeroportos (vetor_aeroportos, tl); break; case 3: exibevoos (vetor_voos, tl); break; case 4: exibeaeroportos (vetor_aeroportos, tl); break; case 5: printf ("\nQual o codigo do voo que deseja buscar?"); scanf ("%d", &codigo); buscar (vetor_voos, codigo, tl); case 6: printf ("\nQual o codigo do voo que deseja remover? "); scanf ("%d", &remover); removervoo (vetor_voos, remover, tl); default: printf ("\nOpcao invalida!"); }//fim do while }//fim do switch return 0; }//fim do main
-
@KXSY Obrigada! Vou testar e praticar desse modo.
-
@KXSY Obrigada! Vou dar uma estudada, tem muita dica boa aí. Vou tentar começar o typedef também. É que eu tô estudando pra prova e a professora exige que use função e menu. Ok!
-
Então gente, eu tô tendo dificuldade com esse código, como posso pra fazer ele verificar as notas e depois passar os dados da struct pro outro vetor. Eu tentei fazer de 2 jeitos. Nesse primeiro ele nem compila, no segundo ele compila mas quando escolho a opção pra dividir em aprovados ou reprovados o console trava. /*Faça um programa que leia os dados de 10 alunos (nome, matricula, média final), armazenados num vetor. Uma vez lido os dados, divida estes dados em 2 novos vetores, o vetor dos aprovados e o vetor dos reprovados. Considere a média mínima para a aprovação como sendo 6.0. Exibir na tela os dados do vetor de aprovados, seguido dos dados do vetor de reprovados. */ #include <stdio.h> #include <string.h> #define tf 10 struct medialunos { int matricula; char nome[20]; double mediafinal; }; void leitura (struct medialunos vet[tf], int vet1[tf], int vet2[tf]){ int i, j; for (i=0;i<tf;i++){ for (j=0; j<tf;j++){ printf ("\nEntre com a matricula: "); scanf ("%d", &vet[i].matricula); printf ("\nEntre com o nome: "); fflush (stdin); fgets (vet[i].nome,20,stdin); printf ("\nEntre com a media final: "); scanf ("%lf", &vet[i].mediafinal); printf ("\n_____________________________________________\n"); if (vet[i].mediafinal >= 6){ vet1[j] = vet[i]; vet++; } else { vet2[j] = vet[i]; vet2++; } } } } void exibevet (struct medialunos vetor[tf]){ int i; for (i=0;i<tf;i++){ printf ("\nMatricula do aluno: %d", vetor[i].matricula); printf ("\nNome do aluno: %s", vetor[i].nome); printf ("\nMedia do aluno: %.2lf", vetor[i].mediafinal); printf ("\n___________________________________________________\n"); } } void aprovados (struct medialunos vt[tf], int vtaprov[tf]){ int i; for (i=0;i<tf;i++){ printf ("\nAprovado!"); printf ("\nMatricula do aluno: %d", vtaprov[i].matricula); printf ("\nNome do aluno: %s", vtaprov[i].nome); printf ("\nMedia do aluno: %.2lf", vtaprov[i].mediafinal); } } void reprovados (struct medialunos vt[tf], int vetreprov[tf]){ int i; for (i=0;i<tf;i++){ printf ("Reprovado!"); printf ("\nMatricula do aluno: %d", vetreprov[i].matricula); printf ("\nNome do aluno: %s", vetreprov[i].nome); printf ("\nMedia do aluno: %.2lf", vetreprov[i].mediafinal); } } int main (){ struct medialunos vt[tf]; int vtaprov[tf], vtreprov[tf]; int opcao = 0; while (opcao != 5){ printf ("\n\n################ MENU ##########################"); printf ("\n1 - Leitura dos alunos"); printf ("\n2 - Exibir todos os alunos"); printf ("\n3 - Exibir Vetor Aprovados"); printf ("\n4 - Exibir Vetor Reprovados"); printf ("\n5 - Sair"); printf ("\n\nQual a sua opcao? "); scanf ("%d", &opcao); switch (opcao){ case 1: leitura (vt, vtaprov, vtreprov); break; case 2: exibevet (vt); break; case 3: aprovados (vt, vtaprov); break; case 4: reprovados (vt, vtreprov); break; default: printf ("\nOpcao invalida!"); } } } Agora com os ifs em duas funções /*Faça um programa que leia os dados de 10 alunos (nome, matricula, média final), armazenados num vetor. Uma vez lido os dados, divida estes dados em 2 novos vetores, o vetor dos aprovados e o vetor dos reprovados. Considere a média mínima para a aprovação como sendo 6.0. Exibir na tela os dados do vetor de aprovados, seguido dos dados do vetor de reprovados. */ #include <stdio.h> #include <string.h> #define tf 3 struct medialunos { int matricula; char nome[20]; double mediafinal; }; void leitura (struct medialunos vet[tf], struct medialunos aprov[tf], struct medialunos reprov[tf]){ int i; for (i=0, aprov =0, reprov = 0;i<tf;i++){ printf ("\nEntre com a matricula: "); scanf ("%d", &vet.matricula); printf ("\nEntre com o nome: "); fflush (stdin); fgets (vet.nome,20,stdin); printf ("\nEntre com a media final: "); scanf ("%lf", &vet.mediafinal); printf ("\n_____________________________________________\n"); } } void exibevet (struct medialunos vetor[tf]){ int i; for (i=0;i<tf;i++){ printf ("\nMatricula do aluno: %d", vetor.matricula); printf ("\nNome do aluno: %s", vetor.nome); printf ("\nMedia do aluno: %.2lf", vetor.mediafinal); printf ("\n___________________________________________________\n"); } } void aprovados (struct medialunos vt[tf], struct medialunos aprov[tf], struct medialunos reprov[tf] ){ int i; for (i=0, aprov = 0, reprov = 0;i<tf;i++){ if (vt.mediafinal >= 6) { vt = aprov; aprov++; } printf ("\nAprovado!"); printf ("\nMatricula do aluno: %d", aprov.matricula); printf ("\nNome do aluno: %s", aprov.nome); printf ("\nMedia do aluno: %.2lf", aprov.mediafinal); } } void reprovados (struct medialunos vt[tf], struct medialunos reprov[tf]){ int i; for (i=0;i<tf;i++){ if (vt.mediafinal < 6) { vt = reprov; reprov++; } printf ("Reprovado!"); printf ("\nMatricula do aluno: %d", reprov.matricula); printf ("\nNome do aluno: %s", reprov.nome); printf ("\nMedia do aluno: %.2lf", reprov.mediafinal); } } int main (){ struct medialunos vt[tf]; struct medialunos vtaprov[tf], vtreprov[tf]; int opcao = 0; while (opcao != 5){ printf ("\n\n################ MENU ##########################"); printf ("\n1 - Leitura dos alunos"); printf ("\n2 - Exibir todos os alunos"); printf ("\n3 - Exibir Vetor Aprovados"); printf ("\n4 - Exibir Vetor Reprovados"); printf ("\n5 - Sair"); printf ("\n\nQual a sua opcao? "); scanf ("%d", &opcao); switch (opcao){ case 1: leitura (vt, vtaprov, vtreprov); break; case 2: exibevet (vt); break; case 3: aprovados (vt, vtaprov, vtreprov); break; default: printf ("\nOpcao invalida!"); } } }
-
PERDÃO ;-; Achei q era só colocar os coisinhas, não vi que tinha um botão hauha adicionado 8 minutos depois @vangodp obrigadaaaaaa
-
Alguém pode me dar uma luz do que tem de errado nesse código??? /*Faça um programa para ler 2 vetores inteiros de tamanhos idênticos. Calcule e exiba a soma dos vetores num terceiro vetor resultante. */ #include <stdio.h> #define tl 5 void leituravetor (int vetor[], int tam){ int i; for (i=0; i<tam; i++){ printf ("Entre com um valor: "); scanf ("%d", &vetor); } } void somavet (int A[], int B[], int vetor[], int tam){ int i; for (i=0; i<tam; i++){ vetor=A+B; } } int main (){ int vetorA[tl], vetorB[tl], soma[tl]; int tf, i; printf ("Entre com o tamanho dos vetores: "); scanf ("%d", &tf); printf ("Leitura do Vetor 1\n"); leituravetor(vetorA, tf); printf ("Leitura do Vetor 2\n"); leituravetor(vetorB, tf); somavet (vetorA, vetorB, soma, tf); printf ("O vetor resultante da soma foi: \n"); for (i=0;i<tf; i++){ printf ("\n[%d] = %d", soma); } return 0; }
-
@Shaman93 Entendi! Obrigada. Eu tentei dessa forma, inverti os operadores etc, mas achei que minha lógica estivesse errada e tivesse alguma forma trazer essa informação da função. Fico feliz em saber que minha lógica não estava totalmente errada, tinha só esquecido do || e metido && em tudo no while.
-
@Shaman93 Eu tentei usar um do while no main mas como eu posso dizer pro main que o numero é invalido? Esse que é o meu problema. Eu consigo resolver o problema se fosse todo no main mas como pede função minha dificuldade tá sendo entender isso.
-
Como eu posso fazer esse exercício da melhor forma? /* Faça um programa contendo uma função para verificar se o dia é válido (está no intervalo entre 1 e 31) e se o mês está entre 1 e 12. Caso esteja incorreto, ler nova data. */ #include <stdio.h> int data (int d, int m){ O máximo que eu consegui até agora foi isso, mas quando o número dá errado ele não entra no if de novo. if (d >= 1 && d <= 31 && m >= 1 && m <= 12) printf ("Dia valido!"); else printf ("Entre com um dia valido: "); scanf ("%d", &d); printf ("Entre com um mes valido: "); scanf ("%d", &m); } int main (){ int dia, mes; printf ("Entre com o dia: "); scanf ("%d", &dia); printf ("Entre com o mes: "); scanf ("%d", &mes); data(dia, mes); }
-
Obrigada!
-
@Anderson Luís de Sousa @Anderson Luís de Sousa Obrigada gente!! Tô estudando pra prova, entendi melhor como funciona o For. No caso o cont+1 é diferente de ++cont, correto?
-
O que há de errado nesse código? /* Leia 5 valores Inteiros. A seguir mostre quantos valores digitados foram pares, quantos valores digitados foram ímpares, quantos valores digitados foram positivos e quantos valores digitados foram negativos. */ #include <stdio.h> int main (){ int num, contpar=0, contimpar=0, contpos = 0, contneg = 0; for (num=1; num<=5; num +1){ scanf ("%d", &num); if (num % 2 == 0){ contpar +1; printf ("%d valor(es) par(es)\n", contpar); } else { contimpar +1; printf ("%d valor(es) impar(es)\n", contimpar); } if (num >= 0){ contpos +1; printf ("%d valor(es) positivo(s)\n", contpos); } else { contneg +1; printf ("%d valor(es) negativo(s)\n", contneg); } } return 0; }
-
Como posso fazer isso? "Leia 3 valores de ponto flutuante A, B e C e ordene-os em ordem decrescente, de modo que o lado A representa o maior dos 3 lados".
-
MUITO OBRIGADA!!! VOU LEVAR ISSO PRA VIDA Tava empacada num bocado de questão por causa disso AGORA FOI
-
não funcionou
-
Alguém pode me ajudar solucionar um probleminha com meu código? Não consigo identifica o erro de jeito nenhum :c #include <stdio.h> int main (){ double a, b, c, perimetro, area; scanf ("%lf", &a); scanf ("%lf", &b); scanf ("%lf", &c); if (a+b>c) && (b+c>a) && (c+a>b) { perimetro = a + b + c; printf("Perimetro = %.1lf\n", perimetro); } else { area = (a+b)*c/2; printf("Area = %.1lf\n", area); } return 0; }
-
Então gente, eu tô começando a montar um pc pra jogar e eu estou com financeiro limitado. Surgiu a oportunidade de pegar um i7 - 2600 + GAH61MS1 Gigabyte, Socket 1155 + Dois Pentes de Memoria RAM Kingston DDR3 de 4 GB cada por 750 reais, a placa-mãe tá com a porta de áudio com problema mas segundo o cara um adaptador resolve a questão. A minha intenção é colocar uma GTX 1060 6gb, será que ela gargala com essa configuração? Vale mais a pena eu pegar um PENTIUM G4560, e uma H110 agora porque é o que cabe no meu orçamento ou esse kit por 750?
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