Ir para conteúdo
Fórum Script Brasil

fabiosl

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre fabiosl

fabiosl's Achievements

0

Reputação

  1. Olá pessoal. alguém poderia me dar uma mão com esse código. Faça um programa que receba como entrada uma lista de numeros positivos e negativos que se finaliza quando o numero 0 (zero) é inserido. como saída, ele deve dar a soma dos numeros positivos e dos numeros negaativos e soma das duas somas. solução (ate onde eu consegui fazer funcionar): Program contador; var i, a, b, c, d, e: integer; vet : array[0..1000] of integer; begin b:= 0; a:= 0; c:= 0; e:= 0; repeat writeln('Digite um numero: '); readln(; if (b <> 0) then begin vet[a]:= b; i:= i + 1; end; until (b = 0); for a := 0 to i do if (vet[a] > 0) then begin c:= c + vet[a]; end else if (vet[a] < 0) then begin d:= d + vet[a]; end; e:= c + d; writeln©; writeln(d); writeln(e); end. ele está meio mal organizado, porque eu totestando. ele está com os seguintes bugs: - eu não consegui fazer uma array que tenha um limite determinado pelo usuário (até que se digite 0), em c eu fiz tudo, mas não conheco quase nada em pascal. - as somas dos valores positivos e os negativos estão dando errado, não sei se é um erro na estrutura que percorre a array ou se é a estrutura da soma propriamente dita. Resumindo: gostaria que vocês me ajudassem a criar uma estrutura de array cujo tamanho seja determinado pelo usuário, conforme os valores que são inseridos pelo usuário. além disso, me ajudem com a soma dos valores inseriddos na array e a soma dos resultados. agradeço antecipadamente a todos.
  2. bom pessoal, estou tentando ajudar um amigo que esta começando a programar. ele esta usando o pascal. o problema é que eu fui meio doido e comecei (comecei há muito pouco tempo) direto no c e não entendo nada da sintaxe do pascal. o prgrama é bem símples. tem que criar um (ou mais) vetor com tamanho indefinido que recebe valores positivos e negativos. quando o valor zero é digitado o programa para de receber valores e faz a soma de todos os valores negativos e dos positivos, depois soma o resultado das duas somas. o comando da questão na íntegra é: Faça um programa que receba como entrada uma lista de numeros positivos e negativos que se finaliza quando o numero 0 (zero) é inserido. como saída, ele deve dar a soma dos numeros positivos e dos numeros negaativos e soma das duas somas. já criei uma ideia em C, mas não sei como transformar essa ideia em pascal, pra falar a verdade não sei nem se funciona (no c dá alguns bugs, ele compila mas dependendo da ordem que os numeros são inseridos da bug). a idéa é criar dois vetores (1 recebe os positivos e o outro recebe os negativos) com tamanho controlado por uma variável que é incrementada cada vez que um número é inserido. esses vetores estariam numa estrutura de controle do tipo: caso o numero inserido seja maior faça.. casose já menor faça... caso seja igual a zero termine e mostre as somas. também é necessário criar uma estrutur que vai percorrer o vetor para somar os numeros. se alguém puder passar um fonte que resolva o problema eu agradeço. me coloco também à disposição de vocês para auxilia-los. sou iniciante em programação, mas sou bem experiente em manutenção de micros. qualquer dúvida é só fala. desde já agradeço a todos que puderem ajudar.
  3. fabiosl

    Ajuda Com Código Em C

    no exemplo anterior era necessário informar a qtd de bois, o que foi abominado pelo professor (aqle fd...). apo´s um pouco de estudo consegui resolver esse problema. ai veio o problema do boi mais magro. depois de um pouco mais de estudo descobri que o problema estava na entrada dos valores para suas respectivas variaveis mais_gordo e mais_magro. o problema era que a variavel mais_magro só recebia o 1º valor inserido, dai quando o programa percorria o vetor para verificar o mais magro só havia o 1º peso inserido, dai ele mostrava o mais magro como sendo o 1º. o código correto ficou assim: #include <stdio.h> #include <stdlib.h> int main() { int cont, i=0; float *num_boi = NULL; float peso; float mais_gordo = 0; float mais_magro = 20000; num_boi = (float *)calloc(1, sizeof(float)); while(peso > 0){ printf("Digite o peso do %do BOI: ", (i+1)); scanf("%f", &peso); num_boi = peso; if(peso > 0 && peso > mais_gordo){ mais_gordo = peso;} else if (peso >0 && peso < mais_magro){ mais_magro = peso;} i++; num_boi = (float *)realloc(num_boi, (i+1)*sizeof(float)); } cont = i; puts("\nLISTA \n"); for(i=0; i<cont-1; i++){ printf("%do Boi tem %.2fKg\n", (i+1), num_boi);} for(i=0; i<cont; i++){ if(mais_gordo == num_boi[i-1]){ printf("\nO BOI mais pesado e o %do\n", i, mais_gordo); break;} } for(i=0; i<cont; i++){ if(mais_magro == num_boi[i-1]){ printf("\nO BOI mais leve e o %do\n\n", i, mais_magro); break; } } free(num_boi); system("pause"); return 0; } agradeço a todos que ajudaram e me ponho a disposição de vocês para ajudar no que puder: MSN - contajogofabio@hotmail.com :lol:
  4. fabiosl

    Ajuda Com Código Em C

    olá pessoal andei estudando a questão e cheguei a este fonte: ele funciona. recebe o peso dos bois e para assim que o peso 0(zero) é digitado. depois disso ele mostra a lista do peso dos bois e seus numeradores, além de informar qual o é o mais pesado. porem ele não consegue mostrar o mais leve. já tentei varias modificações e nada funcionou. ele sempre acusa que o boi mais pesado é o 1º (sempre seja la qual for o peso do 1º e mesmo se o peso dos outros for menor ele sempre acusa que o mais eleve é o 1º. me ajudem a dar uma corrigida para resolver o problema. desde já agradeço a todos. #include <stdio.h> #include <stdlib.h> int main() { int cont, i=0; float *num_boi = NULL; float peso; float mais_gordo = 0; float mais_magro = 20000; num_boi = (float *)calloc(1, sizeof(float)); while(peso > 0){ printf("Digite o peso do %do BOI: ", (i+1)); scanf("%f", &peso); num_boi = peso; if(peso > 0){ if(peso > mais_gordo){ mais_gordo = peso; if(peso < mais_magro){ mais_magro = peso; } } } i++; num_boi = (float *)realloc(num_boi, (i+1)*sizeof(float)); } cont = i; puts("\nLISTA \n"); for(i=0; i<cont-1; i++){ printf("%do Boi tem %.2fKg\n", (i+1), num_boi); } for(i=0; i<cont; i++){ if(mais_gordo == num_boi[i-1]){ printf("\nO BOI mais pesado e o %do\n", i); break; } } for(i=0; i<cont; i++){ if(mais_magro == num_boi[i-1]){ printf("O BOI mais leve e o %do\n\n", i); break;} } free(num_boi); system("pause"); return 0; }
  5. fabiosl

    Ajuda Com Código Em C

    bom. não estou conseguindo ageitar a lógica do programa para que o compilador rode certinho. a base de estudo que to utilizando é essa (pelo menos é ultima tentativa que eu fiz até agora, mas estou batendo cabeça): #include <stdio.h> main() { int iQTDBoi = 0; printf("\nEntre com a quantidade de bois:"); scanf("%d",&iQTDBoi); int vetor[iQTDBoi]; int peso; i = 0; do { printf(“\nDigite o peso do boi:”); scanf("%d",&peso); i++; vetor=peso; } while (peso != 0); int temp; int maior=vetor; int menor=vetor; for (temp = i-1;temp > 0;temp--) { if (vetor[temp] >= maior) maior = temp; if (vetor[temp] <= menor) menor = temp; } for (temp = 0;temp <= i;temp++) { printf("Boi peso:%d id:%d\n",vetor[temp],temp); } printf("Boi mais gordo: %d",maior); printf("Boi mais magro: %d",menor); return(0) } só que sempre aparece erro, já tentei inumeras mudanças e não funciona. a questão é: não consigo fazer o compilador entender o meu pensamento. agradeço qualquer idéia (modificação deste código ou outro melhor). agradeço mesmo.
  6. Olá pessoal. Estou precisando muito de uma ajuda. Sou iniciante em C e estou apanhando para fazer um programa para resolver o seguinte problema da faculdade: Um pecuarista possui uma determinada quantia de bois, que possuem um identificador numérico (de 1 a n) cada um. Faça um programa que: a. receba o peso de cada boi, um por vez, e o armazene em um vetor. Se o peso digitado for 0 significa que não há mais bois a serem inseridos; b. mostre a lista de todos os bois com seus identificadores e também os identificadores do boi mais gordo e do boi mais magro. Se houver dois ou mais bois mais gordos ou mais magros mostrar o de menor identificador; Gostaria de um fonte que resolva este problema ou pelo menos um parecido que possa ser mudado para essa questão. Agradeço :lol: qualquer ajuda que vocês possam me dar.
×
×
  • Criar Novo...