Ir ao conteúdo
  • Cadastre-se

jcgs98

Membro Pleno
  • Posts

    80
  • Cadastrado em

  • Última visita

Tudo que jcgs98 postou

  1. @Flávio Pedroza Resolvi tudo menos isso: adicionado 1 minuto depois Resolvi:] for (i=0;i<10;i++) { printf("\nFaturamento liquido da loja %2d..: R$ %.2f",vLoj[i],vTot[i]); } return 0;
  2. #include <stdio.h> #define X 200 void zeraI (int *v, int n){ int i; for (i=0;i<n;i++){ v[i]=0; } } void zeraF (float *v, int n){ int i; for (i=0;i<n;i++){ v[i]=0; } } int buscaI (int *v, int n, int chv){ for (int i=0;i<n;i++){ if (v[i]==chv) return i; } return -1; } float buscaF (float *v, int n, int chv){ for (int i=0;i<n;i++){ if (v[i]==chv) return i; } return -1; } int buscaI_ (int *v, int n, int chv){ for (int i=0;i<n;i++){ if (v[i]==chv) return v[i]; } return -1; } float buscaF_ (float *v, int n, int chv){ for (int i=0;i<n;i++){ if (v[i]==chv) return v[i]; } return -1; } int carrega_prods (int *v1, float *v2, int n){ v1[0]=203;v2[0]=110.0; v1[1]=120;v2[1]=03.0; v1[2]=340;v2[2]=25.0; v1[3]=220;v2[3]=70.0; return 4; } int carrega_lojas (int *v1, int *v2, int n){ v1[0]=20;v2[0]=1; v1[1]=8 ;v2[1]=2; v1[2]=34;v2[2]=2; v1[3]=22;v2[3]=5; v1[4]=14;v2[4]=3; v1[5]=52;v2[5]=4; v1[6]=16;v2[6]=6; v1[7]=55;v2[7]=4; v1[8]=41;v2[8]=5; v1[9]=28;v2[9]=6; } int carrega_est (float *v1){ v1[0]=10.0; v1[1]=1.2; v1[2]=3.4; v1[3]=9.3; v1[4]=6.0; v1[5]=3.1; } int main (void){ int i, cod, qtd, loj,z; int produto,quantidade; float c, d, imposto, valor; int vPro[4], vLoj[10], vCod[10],viAuxa[X],viAuxb[X],viAuxc[X]; float vVal[4],vImp[6],fat[10],vfAuxb[X],vfAuxa[X]; zeraI (vPro,4); zeraF (vVal,4); zeraF (vfAuxa,X); zeraF (vfAuxb,X); zeraI (viAuxa,X); zeraI (viAuxb,X); zeraI (viAuxc,X); zeraF (fat,10); zeraI (vLoj,10); zeraI (vCod,10); zeraF (vImp,6); carrega_prods (vPro,vVal,4); carrega_lojas (vLoj,vCod,10); carrega_est (vImp); for (i=0;i<10;i++){ printf("\nLoja.....: %3d / Estado...: %d / Imposto..: %.2f",vLoj[i],vCod[i],vImp[vCod[i]-1]); } for (i=0;i<4;i++){ printf("\nProduto..: %d / Valor....: R$%.2f",vPro[i],vVal[i]); } for(i=0;i<X;i++) { printf("\n\n\nCodigo do produto...............: "); scanf("%d",&produto); valor=vVal[buscaI(vPro,4,produto)]; printf("\nValor do produto................: R$ %.2f",valor); printf("\nQuantidade......................:"); scanf("%d",&quantidade); printf("\nValor da compra ................: R$ %.2f",valor*quantidade); printf("\nLoja............................:"); scanf("%d",&viAuxc[i]); imposto=vImp[vCod[buscaI(vLoj,10,viAuxc[i])]-1]; printf("\nValor do Imposto no estado %d...: %.2f",buscaI_(vLoj,10,viAuxc[i]),imposto); c=(valor*quantidade)/(1+(imposto/100)); printf("\nValor sem imposto...............: %.2f",c); vfAuxa[i]=c; } for(i=0;i<X;i++){ printf("\nLoja: %d / Total: %.2f",viAuxc[i],vfAuxa[i]); } int vlojas [10]; float vTot[10]; for (i=0;i<10;i++) { vTot[i]=0; vlojas [i]=0; } for (i=0;i<X;i++){ vlojas [i]=buscaI(vLoj,X,viAuxc[i]); } for (i=0;i<10;i++) { if (vfAuxa[i]!=0) vTot[vlojas[i]]+=vfAuxa[i]; } for (i=0;i<10;i++) { printf("\nFaturamento liquido da loja %d..: R$ %.2f",vlojas [i],vTot[i]); } return 0; } Não está funcionando a totalização.
  3. Eu modifiquei para aceitar float e int, fiz zeraI e zeraF; Não poderia usar o "while(1)" porque no enunciado o número de entradas é limitado em 200. Obrigado pela ajuda!
  4. Alguém? https://www.clubedohardware.com.br/forums/topic/1353072-operação-com-vetores-condicional-operadores-lógicos-faeterj-fac-av2-2017/
  5. Esse eu cansei só de tentar começar: https://www.clubedohardware.com.br/forums/topic/1353072-operação-com-vetores-condicional-operadores-lógicos-faeterj-fac-av2-2017/
  6. Esse eu cansei só de tentar começar: https://www.clubedohardware.com.br/forums/topic/1353072-operação-com-vetores-condicional-operadores-lógicos-faeterj-fac-av2-2017/
  7. Boa tarde! Essa tá f... Comecei assim: #include <stdio.h> #define X 200 void zera (float *v, int n){ int i; for (i=0;i<n;i++){ v[i]=0; } } int busca (int *v, int n, int chv){ for (int i=0;i<n;i++){ if (v[i]==chv) return i; } return -1; } int carrega_prods (int *v1, float *v2, int n){ v1[0]=203; v2[0]=10.0; v1[1]=120; v2[1]=3.0; v1[2]=340; v2[2]=25.0; v1[3]=220; v2[3]=70.0; return 4; } int carrega_lojas (int *v1, int *v2, int n){ v1[0]=20; v2[0]=1; v1[1]=8; v2[1]=2; v1[2]=34; v2[2]=2; v1[3]=22; v2[3]=5; v1[4]=14; v2[4]=3;v1[5]=52; v2[5]=4; v1[6]=16; v2[6]=6;v1[7]=55; v2[7]=4;v1[8]=41; v2[8]=5;v1[9]=28; v2[9]=6; } int carrega_est (float *v1){ v1[0]=2.0; v1[1]=1.2; v1[2]=3.4; v1[3]=9.3; v1[4]=6.0; v1[5]=3.1; } int main (void){ int i, cod, qtd, loj; int vPro[4], vLoj[10], vCod[10]; float vVal[4],vImp[6]; zera (vPro,4); zera (vVal,4); zera (vLoj,10); zera (vCod,10); zera (vImp,6); carrega_prods (&vPro,&vVal,4); carrega_lojas (&vLoj,&vEst,10); carrega_est (&vImp); printf("\nCodigo do produto....:"); scanf("%d",&cod); while (cod>=0&&i<X){ for (i=0;i<X;i++){ busca (vPro, 4, cod); printf("\nQuantidade...........:"); scanf("%d",&qtd); printf("\nLoja.................:"); scanf("%d",&loj); printf("\nCodigo do produto....:"); scanf("%d",&cod); } } return 0; }
  8. Isso. Dei mole. adicionado 2 minutos depois @Flávio Pedroza
  9. Perfeito! Esse eu acho que peguei o jeito: #include <stdio.h> float encontraMenor(int numEmp, float *vetorSal){ int menorSal=vetorSal[0],i; for (i=0;i<numEmp;i++){ if (menorSal>vetorSal[i]) menorSal=vetorSal[i]; } return menorSal; } float exibeDifMenorRetornaSoma (float vMenorSal, int numEmp, int *vetorInsc, float *vetorSal){ int i; float somaDif; for (i=0;i<numEmp;i++){ printf("\n\nFuncionario %d - Diferenca do salario ..: R$ %.2f",vetorInsc[i],vetorSal[i]-vMenorSal); somaDif=somaDif+(vetorSal[i]-vMenorSal); } printf("\n\nSoma das diferencas .......................: R$ %.2f",somaDif); } int main (void){ int vInsc[6]={1010,1020,1030,1040,1050,1060}; float vSal[6]={1000.00,4020.00,900.00,10400.00,20000.00,1000.00}; float menorSal; menorSal=encontraMenor(6,vSal); printf("\n\nO menor salario e ........................: R$ %.2f",menorSal); exibeDifMenorRetornaSoma (menorSal, 6, vInsc, vSal); return 0; }
  10. Bom dia. Minha dúvida está na função. Teria outra maneira de verificar os números digitados sem ter que repetir o "while"? #include <stdio.h> int encontraDoisVals (int limInf, int limSup, int *dig1, int *dig2){ int n1,n2; printf("\nDigite um valor inteiro.......................: "); scanf("%d",&n1); while (n1>limInf&&n1<limSup){ printf("\nDigite um valor inteiro.......................: "); scanf("%d",&n1); } *dig1=n1; printf("\nDigite um valor inteiro.......................: "); scanf("%d",&n2); while (n2>limInf&&n2<limSup){ printf("\nDigite um valor inteiro.......................: "); scanf("%d",&n2); } *dig2=n2; } int main(void){ int limI, limS, dig1, dig2; int soma; int i; printf("\nDigite o limite inferior......................: "); scanf("%d",&limI); printf("\nDigite o limite superior......................: "); scanf("%d",&limS); encontraDoisVals (limI, limS, &dig1, &dig2); soma=dig1+dig2; printf("\nSoma dos valores digitado fora do intervalo...: %d",soma); return 0; } adicionado 5 minutos depois Função é "void" não 'int".
  11. Entendi, mas a função "exibeDiferencaAB" só pode receber 2 vetores. adicionado 5 minutos depois Não entendi os "n". Na verdade entendi, mas não a necessidade. Apenas para organização?
  12. @Flávio Pedroza adicionado 2 minutos depois @isrnick Pode ver esse também?
  13. Boa tarde! Eu outra vez... Podem criticar meu código? Obrigado! #include <stdio.h> # define X 10 # define Y 15 int busca (int n, int vetor1, int *vetor2){ int i; for (i=0;i<n;i++){ if (vetor2[i]==vetor1)return 1; } return 0;} void exibeDiferencaAB (int *vetor1, int *vetor2){ int a,i; for (i=0;i<X;i++){ a=busca (Y, vetor1[i], vetor2); if (a==0)printf("%d ",vetor1[i]);} } int main(void){ int vetor1[X]={1,4,3,7,99,14,17,16,11,13}; int vetor2[Y]={4,2,3,9,1,1,5,16,11,33,44,55,66,23,5}; exibeDiferencaAB (vetor1, vetor2); return 0;}
  14. Sim, achei que tivesse outro jeito para não ter que repetir as linhas no código. Pelo que vocês falaram, o código ficaria assim: #include <stdio.h> int somaAl (int num){ int t=0; while (num>0){ t+=num%10;num=num/10; }return t;} void calcDigitos(int conta, int agencia, int *dig1,int *dig2){ int n1,n2; n1=somaAl(agencia);n2=somaAl(conta); if(n1>n2){ *dig1=n1%9;*dig2=n2%6; } else if(n2>n1){ *dig1=n1%9;*dig2=n2%7; } else{ *dig1=n1%3;*dig2=n2%5;}} int main(void){ int agencia, dig1, conta, dig2; printf("\nDigite a agencia:.... "); scanf("%d",&agencia); while (agencia!=0){ printf("\nDigite a conta:...... "); scanf("%d",&conta); calcDigitos(conta,agencia,&dig1,&dig2); printf("\nAg: %d-%d cta: %d-%d\n\n",agencia,dig1,conta,dig2); printf("\nDigite a agencia:.... "); scanf("%d",&agencia); }return 0;} Os ponteiros estão corretos?
  15. Será???? adicionado 3 minutos depois Se eu não fizer "age=1" acontece isso:
  16. Eu sei, mas a professora exigiu que fosse na função. adicionado 3 minutos depois adicionado 8 minutos depois @isrnick Se eu não colocar "age=1", o while (agencia!=0) vai encerrar antes de começar.
  17. Se puder ajudar com esse também: adicionado 2 minutos depois @isrnick Agora entendi.
  18. Boa tarde! Poderiam me ajudar com a questão abaixo? Fiz o código, funcionou, mas não gostei dele. Como poderia ficar melhor? Por exemplo: Como parar assim que digitar "agência 0"? Como fazer para não precisar colocar "agencia =1"? Obrigado! #include <stdio.h> #include <stdlib.h> int somaAl (int num) { int t=0; while ( num > 0){ t+=num%10; num=num/10; } return t; } void calcDigitos(int *conta, int *agencia, int *dig1,int *dig2) { int i,age=1, n1; int cta, n2; printf("\nDigite a agencia:.... "); scanf("%d",&age); n1=somaAl (age); *agencia=age; printf("\nDigite a conta:...... "); scanf("%d",&cta); n2=somaAl (cta); *conta=cta; if(n1>n2) { *dig1=n1%9; *dig2=n2%6; } else if(n2>n1) { *dig1=n1%9; *dig2=n2%7; } else { *dig1=n1%3; *dig2=n2%5; } } int main(void) { int agencia=1, dig1; int conta, dig2; while (agencia!=0) { calcDigitos(&conta,&agencia,&dig1,&dig2); printf("\nAgencia:............. %d - %d",agencia,dig1); printf("\nConta:............... %d - %d",conta,dig2); } return 0; }
  19. Exatamente! Não entendi tudo, mas se cair na prova final agora dia 04 vou saber fazer alguma coisa. (Isso lá é prova de primeiro período???) Obrigado! Postei outra dúvida se puderem ajudar: adicionado 2 minutos depois Como finalizo o tópico? A questão foi resolvida!
  20. Mas nesse caso, só vai totalizar as 6 primeiras posições do vetor vNota #include <stdio.h> #include <stdlib.h> int main (void) { float vNota[25] = {1,1,2,10,10,3,4,6,7,7,8,9,3,10,4,5,2,7,5,9,8,4,6,8,9}; float vAtend[25] = {1,2,3,4,5,6,2,3,4,5,1,2,3,6,4,5,4,6,1,3,4,5,6,2,4}; int vCont [6]; float vTot[6]; int func; int i; //zera (vtot); //zera (vCont); for (i=0;i<6;i++) { vTot[i]=0; vCont[i]=0; } for (i=0;i<25;i++) { func=vAtend[i]-1; vCont[func]++; vTot[func]+=vNota[func]; } for (i=0;i<6;i++) { if (vCont[i]!=0)printf ("\nMedia...:%.7f",vTot[i]/vCont[i]); } return 0; }

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!