Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.287
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. 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];
  2. @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.
  3. @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; }
  4. @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.
  5. @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 .
  6. @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]); } }
  7. 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 ] .
  8. @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
  9. @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.
  10. @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 ?
  11. @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]); } }
  12. @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(); }
  13. @carssio posta o que você já fez para podermos te ajudar.
  14. @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 .
  15. @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.
  16. @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]); } */ }
  17. @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
  18. @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
  19. @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; }
  20. @eyjafjallajokull_ você esqueceu de colocar a posição nos vetores e a entrada de dados com gets é para pegar string e esses operadores + - * / são char , então para funcionar certo use scanf . aqui seu código com algumas modificações : #include <stdio.h> #include <string.h> #define MAX 5 int main () { float A[MAX],B[MAX],D[MAX]; int i; char op; printf ("VETOR A:\n"); for (i=0;i<MAX;i++) { printf ("Insira um valor: "); scanf ("%f", &A[i]); } printf ("VETOR B:\n"); for (i=0;i<MAX;i++) { printf ("Insira um valor: "); scanf ("%f", &B[i]); } printf ("OPERACAO:\n"); for (i=0;i<MAX;i++) { printf ("\nInsira uma operacao: "); fflush(stdin); scanf("%c",&op); switch (op) { case '+': D[i]=A[i]+B[i]; break; case '-': D[i]=A[i]-B[i]; break; case '*': D[i]=A[i]*B[i]; break; case '/': if (B[i]!=0 && A[i]!=0) D[i]=A[i]/B[i]; else printf ("\nERRO\n"); break; } printf ("Resultado --> %.2f %c %.2f = %.2f\n", A[i],op,B[i],D[i]); } return 0; }
  21. @Victor_Pereira_ufsj o @Simon Viegas tem razão, para o until funcionar certo precisa colocar a instrução or separada por parenteses, então seu código ficaria assim : program materiais; var senha,engmec: string; n,k:integer; begin repeat write('digite a senha: '); readln(senha); if senha<>'engmac' then writeln('senha incorreta'); until senha = 'engmac'; repeat write('digite um numero'); readln(n); if (n < 1) or (n > 4) then writeln('numero invalido'); until (n=1)or(n=2)or(n=3)or(n=4); end. mas ficaria melhor se usasse a instrução and então seria assim ; until (n>0)and(n<5);
  22. @Tuufee para mostrar a posição do numero no vetor não precisa acumular a posição do vetor não, o que precisa é colocar mais uma variável para guardar tal posição e aí quando pegar a menor posição guarda ela na variável. veja como ficaria o seu código : Algoritmo "semnome" // Disciplina : [Linguagem e Lógica de Programação] // Professor : Antonio Carlos Nicolodi // Descrição : Aqui você descreve o que o programa faz! (função) // Autor(a) : Nome do(a) aluno(a) // Data atual : 13/05/2017 Var vet : vetor [1..10] de inteiro c,maior,menor,i,d: inteiro media : real Inicio para c de 1 ate 10 faca escreval("digite um numero inteiro : ") leia(vet[c]) media <- media + vet[c] fimpara media <- media / 10 para c de 1 ate 10 faca Se (vet[c] > maior) ENTÃO maior <- vet[c] fimse Se (c = 1) ENTÃO menor <- vet[c] fimse Se (vet[c] < menor) ENTÃO menor <- vet[c] d:=c fimse fimpara escreval("A media dos numeros do vetor é -------> ",media) escreval("o maior numero no vetor é ------------> ",maior) escreval("O Menor Numero No Veteor é -----------> ",menor) escreval("A posição de menor valor no vetor é --> ",d) Fimalgoritmo
  23. devair1010

    Cadastro e Consulta

    @xagun seu código está funcionando bem, mas na função cadastrar você colocou como controle de cadastro a variável i sendo que essa variável é zera toda vez que se entra nessa função, então é preciso colocar uma variável global que não seja zerada, então coloque essa lá no inicio logo depois dos includes : int i_cad; e na função cadastrar modifique todos os i que tiver lá por i_cad, com isso a variável não será zerada e toda vez que entrar na função haverá uma posição nova para guardar os dados. aqui está a função cadastrar modificada : void cadastrar(struct soft vet_cadastro[TAM]){ /*int i=0;*/ if(i_cad > 100)return 0; char call; do{ fflush(stdin); printf("\nEntre com o Codigo: "); scanf("%d", &vet_cadastro[i_cad].codigo); fflush(stdin); printf("\nNome do SOFTWARE: "); gets(vet_cadastro[i_cad].nome); fflush(stdin); printf("Versao: "); scanf("%f", &vet_cadastro[i_cad].versao); fflush(stdin); printf("Ano: "); scanf("%d", &vet_cadastro[i_cad].ano); fflush(stdin); printf("Funcionalidade: "); gets(vet_cadastro[i_cad].function); fflush(stdin); printf("Tamanho: "); gets(vet_cadastro[i_cad].tam); fflush(stdin); i_cad++; printf("\nDeseja continuar cadastrando ? [s] - sim / [n] - nao : "); scanf("%c", &call); system("cls"); fflush(stdin); }while (call == 's' && call != 'n'); }
  24. @Metam0rfo seu código não funcionou não, ele só mostra pilha cheia, então você disse que pode ser em c então modifiquei seu código e ele está na linguagem c, mas pode compilar em c++ que funciona também . experimente esse aqui : #include <stdio.h> #include <string.h> char frase [300]; char frase2[305]; int b,c,d,f,i,j; int main(){ printf(" Vamos Inverter As Palavras\n\n"); printf("Digite Uma Frase Com Ate 300 Caracteres: "); gets(frase); c=0;d=0; f=strlen(frase); /*pega o tamanho da frase*/ for(i=0;i<f;i++){ if(frase[i]==' '){ /*verifica quantos espaços tem na frase*/ d++; } } if(d==0 && f > 0){ /*se na frase não tem nenhum espaço mas tem uma palavra*/ for(i=f-1;i>=0;i--){ /*pegando da ultima letra da palavra ate a primaeira*/ printf("%c",frase[i]);/*imprime ela na tela ao contrario*/ } } if(f==0){printf("\nVoce Nao Digitou Nada...!\n\n");} if(d>0){ frase2[0]=' '; /*coloca um espaço no começo da frase*/ for(i=0;i<f;i++){frase2[i+1]=frase[i];}/*frase2 igual frase*/ frase2[f+1]='.'; /*coloca um ponto no final da frase*/ for(i=1;i<=f+1;i++){ /*vai percorrer toda a frase*/ if(frase2[i]==' ' || frase2[i]=='.'){ /*um espaço fim da palavra*/ c=i-1; /*pega a posição da ultima letra da palavra*/ while(frase2[c]!=' '){ /*repete ate encontrar um espaço na frase que é o começo da palavra*/ printf("%c",frase2[c]); /*imprime a letra que esta nessa posição da frase*/ c--; /*volta uma posição na frase*/ } printf(" "); /*coloca um espaço entre a palavra e a proxima*/ } } } gets(frase); /*esper apertar enter*/ return 0; }
  25. @Gabriel Coutinho no visualg 3 só pode ter uma instrução por linha, nesse caso o que você precisa fazer é colocar o comando se para verificar se você colocou determinado numero e então colocar o espaço e depois colocar o outro numero .

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