Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.293
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @lucashp seu código está dando erro por que você colocou as variáveis ec e sx do tipo caracter e está comparando com inteiro, com isso ele erra, então para corrigir coloque ec e sx do tipo inteiro, ou na hora de comparar use a função caracpnum ( ) que converte de caracter para inteiro, ou ainda pode colocar o número que está sendo comparado entre aspas dupla assim por exemplo : se sx = " 1 " ENTÃO veja como ficaria seu código : Algoritmo "dados pessoais" Var Sx,Ec,Nm,Idd : Caracter g : inteiro Inicio escreva("Digite o codigo 1 = Masculino ou 2 = Feminino :") leia(Sx) escreva("Digite seu Nome :") leia(Nm) escreva("Digite sua Idade :") leia(Idd) repita g:=1 escreval("Estado Civil 1 = Solteiro, 2 = Casado") escreva(" 3 = Viuvo, 4 = Divorciado, 5 = Outros ") leia(Ec) se (caracpnum(ec) < 1 )ou(caracpnum(ec) > 5) então escreval("Só Pode Ser De 1 Ate 5 Tecle Enter") leia(ec) g:=2 fimse g:=g-1 ate g=0 escreva(Nm," ,") escreva(Idd," anos") se (caracpnum(Sx)=1)ENTÃO escreva(", Masculino é ") senao escreva(", Feminino é ") fimse se(caracpnum(Ec)=1)ENTÃO escreva("Solteir") senao se(caracpnum(Ec)=2)ENTÃO escreva("Casad") senao se(caracpnum(Ec)=3)ENTÃO escreva("Viuv") senao se(caracpnum(Ec)=4)ENTÃO escreva("Divorciad") senao se(caracpnum(Ec)=5)ENTÃO escreva("Outra Situação") fimse fimse fimse fimse fimse se caracpnum(ec) <> 5 ENTÃO se caracpnum(sx)=1 ENTÃO escreva("o") senao escreva("a") fimse fimse Fimalgoritmo
  2. @Leo Tiso olá, posta aí o código que você já fez para podermos ver como está e em que podemos ajudar.
  3. @xMinato o que você precisa fazer é colocar dentro do loop while os comandos para pegar os preços e produtos e ir somando e guardando na variável somapreco e então ver se a pessoa quer continuar comprando ou não, tipo isso : do{ op=1 aqui vai somando os preços dos produtos comprados . . somapreco=prod * qtd * preco; e aqui no final coloca isso printf("quer continuar comprando 1 = Sim 2 = Não"); scanf(op); }while(op==1); printf("o valor de suas compras foi %f",somapreco); se não quiser comprar mais, então fim do programa, ele mostra o valor das compras.
  4. @Barbara Fernandes ele está dando esse erro por que precisa inicializar as variáveis maior e menor com os valores digitados pelo usuário, então coloque ali no primeiro loop onde faz as entradas das notas essa linha : if(a==0){maior=Notas[a];menor=Notas[a];} aqui seu código com algumas modificações : #include <stdio.h> #include <stdlib.h> int main(){ int a, maior=0, menor=0; float Notas[10]; printf("digite 10 notas"); printf("\n"); for (a=0;a<10;a++){ printf("nota %d : ", a+1); scanf("%f", &Notas[a]); if(a==0){maior=Notas[a];menor=Notas[a];} if(Notas[a]>maior){ maior=Notas[a]; } else{ if(Notas[a]<menor){ menor=Notas[a]; } } } printf("\no maior valor é %d\n", maior); printf("\ne o menor valor é %d\n\n", menor); system("pause"); return 0; }
  5. @DoodohRafael as comparações e trocas no selectsort está certo, no insertsort não tem comparações e as trocas estão certas, no bubblesort as comparações e as trocas ficam no mesmo lugar dentro do if . veja como ficaria seu código : #include <iostream> #include <stdlib.h> #include <time.h> #include <conio.h> using namespace std; void SelectSort(int vet[10]){ int min,aux,c=0,cc=0; for(int i=0;i<10;i++){ min=i; for(int j=i+1;j<10;j++){ if(vet[min] > vet[j]){ cc++; min=j; } } aux=vet[min]; vet[min]=vet[i]; vet[i]=aux; c++; } cout<<"\nQuantidade de Trocas SelectSort-> "<<c<<endl; cout<<"Quantidade de Comparacoes SelectSort-> "<<cc<<" < Tecle >"<<endl; getch(); } void InsertSort(int v[10]){ int i,j,key,c=0,cc=0; for(j=0;j<10;j++){ key=v[j]; for(i=j-1;(i>=0)&&(v[i]>key);i--){ v[i+1]=v[i]; //cc++; } v[i+1]=key; c++; } cout<<"\nQuantidade de Trocas InsertSort-> "<<c<<endl; cout<<"Quantidade de Comparacoes InsertSort-> "<<cc<<" < Tecle >"<<endl; getch(); } void BubbleSort(int vetb[10]){ int aux,c=0,cc=0; for(int i=0;i<10;i++){ for(int j=i+1;j<10;j++){//AQUI EU INFORMO QUE J É O PRÓXIMO DO VETOR, POR ISSO O +1; if(vetb[i] > vetb[j]){ aux=vetb[i]; vetb[i]=vetb[j]; vetb[j]=aux; cc++; c++; } } } cout<<"\nQuantidade de Trocas BubbleSort-> "<<c<<endl; cout<<"Quantidade de Comparacoes BubbleSort-> "<<cc<<" < Tecle >"<<endl; getch(); } int main(){ srand(time(NULL)); int vet[10]={}; int v[10]={}; int vetb[10]={}; cout<<"<<<<<<<<<<<<<<<< NUMEROS GERADOS >>>>>>>>>>>>>>>>"<<endl; for(int i=0;i<10;i++){ vet[i]=rand()%100; v[i]=rand()%10; vetb[i]=rand()%1000; cout<<" Gerados Select: "<<vet[i]; cout<<" Gerados Insert: "<<v[i]; cout<<" Gerados Bubble: "<<vetb[i]<<endl; } SelectSort(vet); printf("\n\n"); for(int j=0;j<10;j++){ cout<<j+1<<" SelectSort: "<<vet[j]<<" |"<<endl; } cout<<" "<<endl; InsertSort(v); cout<<"\n\n"; for(int i=0;i<10;i++){ cout<<"InsertSort: "<<v[i]<<" ||"<<endl; } cout<<" "<<endl; BubbleSort(vetb); for(int j=0;j<10;j++){ cout<<"BubbleSort: "<<vetb[j]<<" |||"<<endl; } return 0; }
  6. @Estefani Fujimoto esse erro que está dando é por que ali no case 2 você colocou assim : mediamulheres =mediamulheres + somamulheres/quantmulheres; e não era para somar essas variáveis então ficaria assim: mediamulheres = somamulheres/quantmulheres; aqui seu código com algumas modificações : #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int sexo[4], i=0, j=0, k=0, quantmulheres=0; float altura[4], maior=0, menor=0, mediamulheres=0, mediaturma=0, somamulheres=0; for ( i = 0 ; i <4; i++){ printf("Selecione o sexo:\n"); printf("a)[1] para masculino.\n"); printf("b)[2] para feminino.\n"); scanf("%d", &sexo[i]); printf("Digite a altura:\n"); scanf ("%f", &altura[j]); if (k == 0){ maior = altura[j]; menor = altura[j]; k++; } if(altura[j]>maior){ maior = altura[j]; } else{if(altura[j]<menor){menor = altura[j];}} mediaturma = mediaturma + altura[j]/4; switch (sexo[i]){ case 1: break; case 2: quantmulheres = quantmulheres + 1; somamulheres = somamulheres + altura[j]; mediamulheres =somamulheres/quantmulheres; break; } } printf ("\n A maior altura da turma e de: ------------------> %.2f \n", maior); printf (" A menor altura da turma e de: ------------------> %.2f \n", menor); printf (" A media de altura da turma e de: ---------------> %.2f \n", mediaturma); printf (" A media de altura das mulheres da turma e de: --> %.2f \n\n\n", mediamulheres); system("PAUSE"); return 0; }
  7. devair1010

    Vetor impossível?

    @DAVIFN esse erro que está dando é por que você colocou o v1 e v2 com apenas quatro posições e nos loops você colocou para ir zero até quatro, sendo então cinco posições, com isso a ultima posição será um número qualquer, e no caso não sei bem porque mas está sendo o último digitado, então para corrigir coloque os vetores v1 e v2 com cinco posições. assim : int v1[5],v2[5],vs[5];
  8. @Victor Schmitz creio que o número de pinos do processador i7 870 que é 1156 pinos não vai conferir com essas placas que é 1151 então ficaria sobrando cinco pinos que não teria lugar para se encaixar no soquete lga 1151, então você pode comprar outra placa com soquete lga 1156, mas só vais conseguir usada. lá no mercado livre tem algumas na faixa de 470 reais.
  9. @heliocleg2 pelo exemplo que você deu não consegui entender o que fazer, será que você quer ordenar as quatro colunas em ordem decrescente ? experimente esse algoritmo : #include <stdio.h> #include <conio.h> int i,j,k,aux; int matriz [10][5]; int ordem(int x){ for(i=0;i<9;i++){ for(j=i+1;j<10;j++){ aux=matriz[i][x]; if( matriz[j][x] > matriz[i][x]){ matriz[i][x] = matriz[j][x]; matriz[j][x] = aux; } } } return 0; } void escrever(int w,int x,int y){ if(y==0){if(i<9){printf("linha %d -> ",w+1);} else{printf("linha %d -> ",w+1);}} printf("%d",matriz[w][x]); if(matriz[w][x]<10){printf(" ");} else {if(matriz[w][x]<100){printf(" ");} else{if(matriz[w][x]<1000){printf(" ");}}} printf(" "); } int main(){ for(i=0;i<10;i++){ printf("Digite O %d Numero Da 1 coluna ",i+1); scanf("%d",&matriz[i][0]); printf("Digite O %d Numero Da 2 coluna ",i+1); scanf("%d",&matriz[i][1]); printf("Digite O %d Numero Da 3 coluna ",i+1); scanf("%d",&matriz[i][2]); printf("Digite O %d Numero Da 4 coluna ",i+1); scanf("%d",&matriz[i][3]); } ordem(0); ordem(1); ordem(2); ordem(3); for(i=0;i<10;i++){ for(j=0;j<3;j++){ for(k=j+1;k<4;k++){ aux=matriz[i][j] ; if( matriz[i][k] > matriz[i][j]){ matriz[i][j] = matriz[i][k] ; matriz[i][k] = aux; } } } } printf("\ncolunas 1 2 3 4\n\n"); for(i=0;i<10;i++){ escrever(i,0,0); escrever(i,1,1); escrever(i,2,1); escrever(i,3,1); printf("\n"); } getch(); return 0; }
  10. @Guarda Chuva para que o programa não rode ao iniciar o windows você pode ir lá no botão iniciar clicar em pesquisar e escrever msconfig e enter aí entrando no msconfig vá na aba inicialização de programas e desmarque todos as opções menos o seu antivírus e clique em aplicar e aí clique em sem reiniciar.
  11. @Gustavo.6c5 pela imagem não dá para ver o que está escrito mas pode ser que a bateria esteja fraca coloque outra para testar .
  12. @Rafael Filho você quer inverter o vetor todo ou apenas essas duas posições ? para inverter todo você precisa de um outro vetor e usar um loop com o número de posições e colocar os números ao contrário assim: #include <stdio.h> int vetor[8]={1,2,3,4,5,6,7,8}; int vetor2[8],i,j; int main(){ j=7; for(i=0;i<8;i++){ vetor2[i]=vetor[j]; j--; } for(i=0;i<8;i++){ vetor[i]=vetor2[i]; printf("%d - ",vetor[i]); } }
  13. devair1010

    vetores

    @jeffrey donovan tem um erro ali número 5 o vet não tem em qual posição ele vai receber temp e na linguagem c o vetor começa em zero, então o primeiro numero está na posição zero. e se você olhar o código verá que temp = vet [ 0 ] .
  14. @Vinícius Theófilo Na hora de testar você colocou para ir de i+1 ate 6, com isso ele não testa a primeira posição do vetor . veja como seu código ficaria : algoritmo "Mega sena" // Função : // Autor : // Data : 14/05/2017 // Seção de Declarações var RE : VETOR[1..6] DE inteiro AP : VETOR[1..6] DE inteiro i, j, cont : inteiro inicio // Seção de Comandos cont <- 0 para i de 1 ate 6 faca Escreva("Digite o ",i,"º número do resultado do concurso da Mega Sena") Leia (RE[i]) fimpara escreval para j de 1 ate 6 faca Escreva("Digite o ",j,"° número de sua aposta do concurso da Mega Sena") Leia (AP[j]) fimpara para i de 1 ate 6 faca para j de 1 ate 6 faca se RE[i] = AP[j] então cont := cont + 1 fimse fimpara fimpara Escreval("O resultado do concurso é: ", RE[1],re[2],re[3],re[4],re[5],re[6] ) Escreva ("O total de acertos foi de: ", cont ) fimalgoritmo
  15. @carssio aqui no code block está funcionando bem, mas esse código que você postou não funciona mesmo não porque você modificou ele ali no loop j que faz a entrada de dados você colocou para ler inteiros mas o vetor é de string e nesse caso ele não consegue verificar o que está no vetor.
  16. @Paulo611 mas por exemplo se você abrir um programa de conversão de vídeo e colocar ele para converter um vídeo e aí abrir outro desse mesmo programa e colocar também para converter outro vídeo, nesse caso os dois ficam funcionando ao mesmo tempo. então qual programa você quer abrir duas vezes ao mesmo tempo ?
  17. @carssio você esqueceu de colocar qual posição na novamatriz, então seu código ficaria assim : #include <stdlib.h> #include <stdio.h> int main(void){ int a,b ,matriz1[5]; int matriz2[5]; int novamatriz[10]; int i = 0,j,aux; printf("Primmeira Matriz\n"); for(a=0;a<5;a++){ printf("Digite o %d numero: ", a+1); scanf("%d", &matriz1[a]); } printf("Segunda Matriz\n"); for(b=0;b<5;b++){ printf("Digite o %d numero: ", b+1); scanf("%d", &matriz2[b]); } a=0; for ( i = 0; i < 10; i=i+2 ){ novamatriz[i ] = matriz1[a]; novamatriz[i+1] = matriz2[a]; a++; } for ( i = 0; i <9; i++ ){ for(j=i+1;j<10;j++) { aux=novamatriz[i]; if( novamatriz[j] < novamatriz[i]){ novamatriz[i] = novamatriz[j]; novamatriz[j] = aux; } } } printf("O maior valor Na Matriz é : %d\n", novamatriz[9]); for (i = 0; i < 10; i++){ printf("Numero Na Posicao %d ==> %d\n",i+1,novamatriz[i]); } }
  18. @carssio seu código está dando erro porque você colocou as variáveis nota1[2] até nota4[2] do tipo float como se fosse vetor, então se remover esses caracteres aqui [2] ele funciona, mas ele mostra apenas um aluno de cada vez para mostrar os quatro alunos é preciso fazer algumas modificações e colocar mais algumas bibliotecas como a string e a conio e também a stdlib. e usaremos o comando atof, para converter os valores que estão como string, para float veja como seu código ficaria : #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h> char vetor [4][5][20]; int main(void) { float nota1; float nota2; float nota3; float nota4; float media; int i,j; char nome[20]; for(i=0;i<4;i++){ printf("\nEntre com o nome do aluno: "); fflush(stdin); gets(vetor[i][0]); for(j=1;j<5;j++){ printf("Informe a %da. nota:",j); fflush(stdin); gets(vetor[i][j]); } } for(i=0;i<4;i++){ nota1=atof(vetor[i][1]);nota2=atof(vetor[i][2]); nota3=atof(vetor[i][3]);nota4=atof(vetor[i][4]); media = (nota1 + nota2 + nota3 + nota4) / 4; printf("\nMedia final = %.2f", media); if (media >= 6.0) printf(" ( aluno %s aprovado ).",vetor[i][0]); else if ((media >= 5.0) && (media < 6.0)) printf(" ( aluno %s em recuperacao ).",vetor[i][0]); else printf(" ( aluno %s reprovado ).",vetor[i][0]); } getch(); }
  19. @carssio posta o que você já fez para podermos te ajudar.
  20. @Paulo611 mas quais os programas que você quer abrir ao mesmo tempo, geralmente eles funcionam ao mesmo tempo só que você teria que usar um e aí clicar no outro para usar esse outro, isso é normal .
  21. @danilo001 pelo enunciado acredito que seja isso que ele pede : Program Exercico_28 ; uses crt; var N, I, soma: Integer; Begin i:=1; clrscr(); Writeln ('-----------------------------'); Writeln ('| Serão somados os inteiros |'); Writeln ('| inteiros entre 1 e 100 |'); Writeln ('-----------------------------'); for n:= 1 to 50 do begin writeln('numero ',i,' + numero ',i+1,' = ',i+i+1); i:=i+2; end; readln(); End.
  22. @carssio seu código ficou faltando alguns comandos para colocar os números na segunda matriz. veja como ficaria seu código : #include <stdio.h> #include <conio.h> int main(void) { int a, b; int matriz1[10]={1,2,3,4,5,6,7,8,9,10}; int matriz2[10]={10,9,8,7,6,5,4,3,2,1}; printf("Invertendo Numeros Na Matriz\n\n"); for (b = 0; b < 10; b++){ printf("Digite O %d Valor ",b+1); scanf("%d",&matriz1[b]); } for(a=0;a<10;a++){ matriz2[a]=matriz1[b-1]; b--; } printf("\nValores Nas Matrizes\n\n"); for(a=0;a<10;a++){ printf("matriz1 %d <-----> matriz2 %d\n",matriz1[a],matriz2[a]); } getch(); /*printf("%d\n", valores); for (a = 1; b >= 10; a--) printf("%d\n", matriz2[a]); } */ }
  23. @neo8 Esse erro que está dando é porque ali no loop que vai de um até 15 ele está pegando a posição 15+1 que é igual a 16 e não existe essa posição no vetor, então para não dar esse erro basta colocar o vetor para ir de 1..16 assim v : vetor[1..16] de inteiro mas esse código não consegue ordenar os número em ordem crescente não para isso é preciso uma melhor organização. seria assim para i de 1 ate 14 faca para j de i+1 ate 15 faca aux:=v[i] se v[j]< v[i] ENTÃO v[i] := v[j] v[j] := aux fimse fimpara fimpara e seu código completo ficaria assim : Algoritmo "ordenação" Var v : vetor[1..16] de inteiro i, j, aux : inteiro Inicio aleatorio on para i de 1 ate 15 faca leia(v[i]) fimpara aleatorio off limpatela para i de 1 ate 15 faca escreva(v[i]) fimpara escreval para i de 1 ate 15 passo 2 faca se (v[i] > v[i+1]) ENTÃO aux <- v[i] v[i] <- v[i+1] v[i+1] <- aux fimse fimpara para i de 2 ate 14 passo 2 faca se (v[i] > v[i+1]) ENTÃO aux <- v[i] v[i] <- v[i+1] v[i+1] <- aux fimse fimpara para i de 1 ate 14 faca para j de i+1 ate 15 faca aux:=v[i] se v[j]< v[i] ENTÃO v[i] := v[j] v[j] := aux fimse fimpara fimpara para i de 1 ate 15 faca escreva(v[i]) fimpara Fimalgoritmo
  24. @Vinícius Theófilo seu código está certo, mas para que o loop seja encerrado assim que você digital zero é preciso colocar o comando se logo depois de ler a idade, assim se for zero ele não faz a entrada dos outros dados. veja como ficaria seu código : algoritmo "pesquisa" // Função : // Autor : // Data : 13/05/2017 // Seção de Declarações var idade,maioridade, menoridade,conthomem : inteiro sexo : caracter salario, mediasalario, somasalario, contsalario: real contmulher, contmulher300, porcentmulher : real inicio // Seção de Comandos menoridade <- 10000; maioridade <- 0; conthomem <- 0 somasalario <- 0 contsalario <- 0 contmulher <- 0 idade <- 1 enquanto idade <> 0 faca Escreva ("Digite a idade ") Leia (idade) se idade > 0 ENTÃO Escreva ("Digite o sexo : M para Masculino e F para feminino: ") Leia (sexo) Escreva ("Digite o salário ") Leia (salario) se (idade > maioridade) ENTÃO maioridade <- idade fimse se (idade < menoridade) ENTÃO menoridade <- idade fimse se (sexo = "M") ENTÃO conthomem <- conthomem + 1 senao se (sexo = "F") ENTÃO contmulher <- contmulher + 1 fimse se (sexo = "F") E (salario <= 300) ENTÃO contmulher300 <-contmulher300 + 1 fimse porcentmulher <- (contmulher300 * 100) / contmulher fimse contsalario <- contsalario + 1 somasalario <- somasalario + salario //mediasalario <- somasalario / contsalario fimse fimenquanto mediasalario <- somasalario / contsalario Escreval (" A porcentagem do total de mulheres com salario até 300 reais é de ", porcentmulher, " % ") Escreval ("A quantidade total de homens é de ", conthomem, " homens") Escreval ("A maior idade do grupo é ", maioridade, "anos") Escreval ("A menor idade do grupo é ", menoridade, "anos") Escreval ("A média de salário do grupo é de ", mediasalario, "reais") fimalgoritmo
  25. @carssio seu código está bom, mas você esqueceu de colocar a posição do vetor, e o @hhening também esqueceu isso também . então seu código ficaria assim : #include <stdio.h> int main() { int vetor[10], i; for(i = 0; i < 10; i++) { printf("Digite O %d Numero: ", i); scanf("%d", &vetor[i]); } printf("\nAqui estão As posições\n\n"); for(i = 0; i < 10; i++) { if((i % 2) == 0) printf("Posicao --> %d: Numero --> %d\n", i, vetor[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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!