Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @Jessé P. de Melo no printf não precisa / não pode colocar esse caractere & , e se fizer cálculo usando int então o float sai zerado , melhor colocar tudo como float .
  2. @Yan Oliveira nesse exercício dois você pode colocar um vetor chamado mes com dez posições do tipo caracter para armazenar os nomes dos meses, e uma variável para o número da placa e outra para o último digito da placa, também do tipo caracter e no inicio coloque o nome de cada mês no vetor assim usando vetores será mais fácil .
  3. @Simon Viegas você tem razão, eu não havia observado esse detalhe que a primeira letra não aparecia no vetor de vogais e é por causa da inicialização mesmo que precisa ser inicializada com valor zero , pois o comando v++ acessa primeiro a posição do vetor na posição indicada por v e só depois ele incrementa a variável v, então o código com alguns ajustes ficaria assim : #include <stdio.h> #include <ctype.h> #include <conio.h> #include <stdlib.h> #include <string.h> int main() { char frase[700],vogal[700]; char consoante[700]; int j,k,tam,v=0,c=0; printf("Digite a frase:\n"); fflush(stdin); gets(frase); tam=strlen(frase); for(j=0;j<tam;j++) { if(toupper(frase[j])=='A'||toupper(frase[j])=='E'|| toupper(frase[j])=='I'||toupper(frase[j])=='O'|| toupper(frase[j])=='U') { vogal[v++] = frase[j];/*acessa a posição e depois incrementa a variável*/ } else{ k=(int)frase[j]; /* pega o código ascii do caractere */ if( k > 64 && k < 91 ||/* letras maiúsculas */ k > 96 && k < 123 )/* letras minúsculas*/ consoante[c++]=frase[j]; } } vogal[v++]='\0'; consoante[c++]='\0'; printf("\nimprimindo todas as vogais:\n\n"); for(v=0;v<tam;v++) { if(vogal[v]=='\0')break; printf("%c",vogal[v]); } printf("\n\nimprimindo todas as consoantes:\n\n"); for(c=0;c<tam;c++) { if(consoante[c]=='\0')break; printf("%c",consoante[c]); } printf("\n\n"); getch(); return 0; }
  4. @Paulo Roberto do Carmo seu notebook é do bom, mas não é ele que está causando esses erros , pois você tem aí um código para a linguagem c++ e se você colocar como c então dá esses erros mesmo, então você precisa salvar esse código como sendo c++ e aí no codebloks você tem a opção de escolher qual linguagem quando você clica em file / new / e na janela que aparece escolha file e na janela que aparece clique duas vezes em c / c++ e na outra janela que abre escolha c++ e clique em next e escolha em qual pasta salvar e coloca o nome do programa e clique em finish, assim você pode rodar o código que não terá mais esse erro .
  5. @WilliamNascimento o índice é a posição no vetor, e se o vetor tem dez posições como esse aí de cima, então se você colocar dez números nele , um em cada posição, então ele terá os dez valores digitados armazenados nele .
  6. @Fabio M. Nascimento seu código está bom, mas está apresentado erro , e é por que precisa inicializar as variáveis lá no inicio, o v e o c pois senão ele insere os dados em posições indefinidas, sendo que o vetor começa na posição zero sendo assim inicialize com o valor menos hum assim quando ele colocar na posição v++ estará colocando na posição zero e vai aumentando a posição até o final, então seu código com algumas modificações ficaria assim : #include <stdio.h> #include <conio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> int main() { char frase[700],vogal[700]; char consoante[700]; int j,tam,v=-1,c=-1; printf("Digite a frase: "); fflush(stdin); gets(frase); tam=strlen(frase); for(j=0;j<tam;j++) { if(toupper(frase[j])=='A'||toupper(frase[j])=='E'|| toupper(frase[j])=='I'||toupper(frase[j])=='O'|| toupper(frase[j])=='U') { vogal[v++]=frase[j]; } else{ consoante[c++]=frase[j]; } } vogal[v++]='\0'; consoante[c++]='\0'; printf("\nimprimindo todas as vogais:\n\n"); for(v=0;v<tam;v++) { if(vogal[v]=='\0')break; printf("%c",vogal[v]); } printf("\n\nimprimindo todas as consoantes:\n\n"); for(c=0;c<tam;c++) { if(consoante[c]=='\0')break; printf("%c",consoante[c]); } printf("\n\n"); getch(); return 0; }
  7. @Bruna DElia copie e use esse código que postei , pois testei e ele está funcionando bem, porém antes de rodar o código você precisa criar esse arquivo txt onde vai ler , que é o rna , e escrever alguma coisa nele .
  8. @Bruna DElia você abriu o arquivo velho para gravar e está lendo nele assim ele não consegue ler e depois você tenta gravar no arquivo novo , mas ele foi aberto para leitura, assim ele também não grava, então precisa inverter isso, e seu código modificado ficaria assim : #include <stdio.h> #include <stdlib.h> int main() { FILE *novo, *velho; novo=fopen("ecoli.txt","w"); velho=fopen("rna.txt" ,"r"); if (novo==NULL || velho==NULL){ printf("Erro de abertura\n"); system("pause"); exit(1); } char letra; while( (letra = fgetc(velho)) != EOF ) { if(letra =='T')letra='U'; fprintf(novo, "%c", letra); } fclose(velho); fclose(novo); return 0; }
  9. @Craftmoon você quer criar um comando que substitua o comando for da linguagem c ?
  10. @Bruna DElia para ler o arquivo use a função fgetc assim : caracter = fgetc(arquivo); e para colocar no arquivo use o comando fprintf assim : fprintf(arquivo,"%c",caractere);
  11. @Benezes para fazer um jogo do tipo doom no dephi será bem difícil , pois o delphi não tem comandos para objetos tridimensionais , então seria melhor usar um uma IDE que tenha esses comandos como a unity 3d , então no delphi você consegue fazer um jogo mais simples como o mario world, e mesmo assim não é nada fácil , veja nesse link como fazer o mario world no delphi : https://www.google.com.br/search?q=criando+mario+no+delphi&rlz=1C1AVSX_enBR722BR722&o que=criando+mario+no+delphi&aqs=chrome..69i57.11153j0j7&sourceid=chrome&ie=UTF-8
  12. @bnmatrix primeiro você pega os três números do tipo real, usando o comando leia para x y z e depois para pegar o resultado veja que o quadrado de um número é o número multiplicado por ele mesmo, então seria o primeiro número multiplicado por ele mesmo mais o segundo também multiplicado e mais o terceiro também usando o comando abs antes do cálculo, assim se o número for negativo ficará como sendo positivo . então ficaria assim : r := abs(x*x) + abs(y*y) + abs(z*z)
  13. @Josias Pelegrine se deu curto nela com certeza a gpu da placa queimou e creio que não tenha como colocar outra gpu na placa de vídeo , e por isso ela não dá vídeo , mas é assim mesmo essas placas queimam mesmo, a minha queimou depois de três anos jogando muito . melhor comprar outra nova .
  14. @Cristian Kirsch Foesch para usar o scanf você pode colocar assim : scanf("%c", &Nome.Nome);
  15. @paulo leal essa questão está no uri online e olhei aqui e vi que o número dela é 1120 . então fiz esse código no dev c++ da versão 4.9.9.2, e ficou bem diferente do seu, e ainda não testei, então experimente para ver se resolve . #include <cstdio> #include <cstring> char *removerCaractere(char *arr, char d) { int i; // remove digitos for (i = 0; i < strlen(arr); i++) { if (arr[i]-48 == d) { if (strlen(arr) == 1) { arr[0] = '0'; } else { memmove(&arr[i], &arr[i+1], strlen(arr)-i); i = -1; } } } // limpa os zeros à esquerda for (i = 0; i < strlen(arr); i++) { if (arr[i] >= '1' && arr[i] <= '9') break; if (strlen(arr) == 0) { arr[0] = '0'; } else if(arr[i+1] != '\0') { memmove(&arr[i], &arr[i+1], strlen(arr)-i); i = -1; } } return arr; } int main() { int d=1,i; char *n = new char [1001]; while (!(d == 0 && n[0] == '0')) { scanf("%d %s", &d, n); if (d != 0 && n[0] != '0') { n = removerCaractere(n, d); printf("%s\n",n); } } return 0; }
  16. @Cristian Kirsch Foesch não pode colocar esse operador < no case, então você pode usar o default do switch , então seu código seria assim : #include <stdio.h> int main(){ int num,num2; printf("digite um numero "); scanf("%d",&num); num2=num; switch(num){ case 2017/1 : printf("o aluno esta no terceiro semestre"); break; case 2017/2 : printf("o aluno esta no segundo semestre"); break; case 2018/1 : printf("o aluno esta no primeiro semestre"); break; /*case (num2< 2017) : printf("Error 404"); break;*/ default : if(num < 2017) printf("erro 404"); } return 0; }
  17. @Daniel De Marco Fucci seu código funciona e esse erro que você disse é porque precisa de mais algumas linhas para fazer essa função que remove a peça que foi comida , então seria essas linhas aqui : if(k == x+2) tabuleiro[x+1][y+1]=0; else if(k == x-2) tabuleiro[x-1][y+1]=0; colocadas no último else de cada if que compara a jogada do jogador 1, então seu código ficaria assim : #include <stdio.h> #include <conio.h> #include <stdlib.h> #define MAX 8 void imprimir (int tabuleiro[MAX][MAX]); int main (){ int tabuleiro[MAX][MAX], retorno = 0, x, y, aux1, aux2, k, z; int i, j; //zerando tabuleiro for (i=0; i<MAX; i++){ for (j=0; j<MAX; j++){ tabuleiro[i][j] = 0; } } //adicionando peças às posições iniciais do jogo (peças brancas) for (i=0; i<MAX; i++){ for (j=0; j<3; j++){ if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1)){ tabuleiro[i][j] = 1; } } } //adicionando peças às posições iniciais do jogo (peças pretas) for (i=0; i<MAX; i++){ for (j=5; j<MAX; j++){ if ((i % 2 == 0 && j % 2 == 0) || (i % 2 == 1 && j % 2 == 1)){ tabuleiro[i][j] = 2; } } } //iniciando o jogo printf ("Jogo iniciado! Jogador 1 com pecas 1, jogador 2 com pecas 2\n"); imprimir(tabuleiro); //laço da continuidade no jogo até que alguém vença e retorno receba "1" while (retorno == 0){ //laço garante que a peça a ser mexida seja válida aux1 = 0; while (aux1 == 0){ printf ("Jogador 1, informe a posicao x e y da peca a ser mexida (peca[x][y])\n"); scanf ("%d %d", &x, &y); x--; y--; //condição para mexer a peça if (tabuleiro[x+1][y+1] != 0 && tabuleiro[x+2][y+2] != 0 && tabuleiro[x-1][y+1] != 0 && tabuleiro[x-2][y+2] != 0) { printf ("Essa peca nao pode se mover!\n"); } else if (tabuleiro[x][y] != 1){ printf ("opcao invalida\n"); } else { aux1 = 1; } } //laço garante que o destino da peça seja valido aux2 = 0; while (aux2 == 0){ printf ("Jogador 1, informe a posicao x e y do destino da peca a ser movida\n"); scanf ("%d %d", &k, &z); k--; z--; if ((tabuleiro [k][z] != tabuleiro[x+1][y+1]) && (tabuleiro[k][z] != tabuleiro[x-1][y+1]) && (tabuleiro[k][z] != tabuleiro[x+2][y+2]) && (tabuleiro[k][z] != tabuleiro[x-2][y+2])){ printf ("opcao invalida\n"); } else if (z<y){ printf ("opcao invalida\n"); } else if (tabuleiro[k][z] == tabuleiro[x+1][y+1]) { if (tabuleiro [k][z] != 0){ printf ("opcao invalida\n"); } else { tabuleiro[x][y] = 0; tabuleiro[k][z] = 1; aux2 = 1; if(k == x+2) tabuleiro[x+1][y+1]=0;/*aqui coloquei essa linha*/ else if(k == x-2) tabuleiro[x-1][y+1]=0; /* aqui coloquei essa linha*/ } } else if (tabuleiro[k][z] == tabuleiro[x-1][y+1]) { if (tabuleiro [k][z] != 0){ printf ("opcao invalida\n"); } else { tabuleiro[x][y] = 0; tabuleiro[k][z] = 1; aux2 = 1; if(k == x+2) tabuleiro[x+1][y+1]=0;/*aqui coloquei essa linha*/ else if(k == x-2) tabuleiro[x-1][y+1]=0; /* aqui coloquei essa linha*/ } } else if (tabuleiro[k][z] == tabuleiro[x+2][y+2]){ if (tabuleiro[x+1][y+1] != 2){ printf ("opcao invalida\n"); } else { tabuleiro[x][y] = 0; tabuleiro[k][z] = 1; tabuleiro[x+1][y+1] = 0; aux2 = 1; if(k == x+2) tabuleiro[x+1][y+1]=0;/*aqui coloquei essa linha*/ else if(k == x-2) tabuleiro[x-1][y+1]=0; /* aqui coloquei essa linha*/ } } else if (tabuleiro[k][z] == tabuleiro[x-2][y+2]){ if (tabuleiro[x-1][y+1] != 2){ printf ("opcao invalida\n"); } else{ tabuleiro[x][y] = 0; tabuleiro[k][z] = 1; tabuleiro[x-1][y+1] = 0; aux2 = 1; if(k == x+2) tabuleiro[x+1][y+1]=0;/*aqui coloquei essa linha*/ else if(k == x-2) tabuleiro[x-1][y+1]=0; /* aqui coloquei essa linha*/ } } } imprimir(tabuleiro); //verificando se o jogador 1 ganhou for (i=0; i<MAX; i++){ if (tabuleiro[i][7] == 1){ retorno = 1; printf ("Fim de jogo, jogador 1 venceu.\n"); } } //garante que o jogo ainda nao acabou if (retorno == 0){ //laço garante que a peça a ser mexida seja válida aux1 = 0; while (aux1 == 0){ printf ("Jogador 2, informe a posicao x e y da peca a ser mexida (peca[x][y])\n"); scanf ("%d %d", &x, &y); x--; y--; if (tabuleiro[x-1][y-1] != 0 && tabuleiro[x-2][y-2] != 0 && tabuleiro[x+1][y-1] != 0 && tabuleiro[x+2][y-2] != 0){ printf ("Essa peca nao pode se mover!\n"); } else if (tabuleiro[x][y] != 2){ printf ("opcao invalida\n"); } else { aux1 = 1; } } //laço garante que o destino da peça seja valido aux2 = 0; while (aux2 == 0){ printf ("Jogador 2, informe a posicao x e y do destino da peca a ser movida\n"); scanf ("%d %d", &k, &z); k--; z--; if ((tabuleiro [k][z] != tabuleiro[x-1][y-1]) && (tabuleiro[k][z] != tabuleiro[x+1][y-1]) && (tabuleiro[k][z] != tabuleiro[x-2][y-2]) && (tabuleiro[k][z] != tabuleiro[x+2][y-2])){ printf ("opcao invalida\n"); } else if (z>y){ printf ("opcao invalida\n"); } else if (tabuleiro[k][z] == tabuleiro[x-1][y-1]) { if (tabuleiro [k][z] != 0){ printf ("opcao invalida\n"); } else { tabuleiro[x][y] = 0; tabuleiro[k][z] = 2; aux2 = 1; } } else if (tabuleiro[k][z] == tabuleiro[x+1][y-1]) { if (tabuleiro [k][z] != 0){ printf ("opcao invalida\n"); } else { tabuleiro[x][y] = 0; tabuleiro[k][z] = 2; aux2 = 1; } } else if (tabuleiro[k][z] == tabuleiro[x-2][y-2]){ if (tabuleiro[x-1][y-1] != 1){ printf ("opcao invalida\n"); } else { tabuleiro[x][y] = 0; tabuleiro[k][z] = 2; tabuleiro[x-1][y-1] = 0; aux2 = 1; } } else if (tabuleiro[k][z] == tabuleiro[x+2][y-2]){ if (tabuleiro[x+1][y-1] != 1){ printf ("opcao invalida\n"); } else{ tabuleiro[x][y] = 0; tabuleiro[k][z] = 2; tabuleiro[x+1][y-1] = 0; aux2 = 1; } } } imprimir(tabuleiro); //verificando se o jogador 2 venceu. for (i=0; i<MAX; i++){ if (tabuleiro[i][0] == 2){ retorno = 1; printf ("Fim de jogo, jogador 2 venceu.\n"); } } } } return 0; } void imprimir (int tabuleiro[MAX][MAX]){ int i, j; for (i=0; i<MAX; i++){ for (j=0; j<MAX; j++){ printf (" %d ", tabuleiro[i][j]); } printf ("\n"); } } mas ainda apresenta erros pois ele não verifica se a posição de destino, pois ele permite colocar a peça na mesma linha e na coluna seguinte , então precisa de mais alguns ajustes .
  18. @paulo leal qual o número dessa questão ?
  19. @EIGHT RxXD veja nesse site -> https://www.urionlinejudge.com.br/judge/pt/login nele tem milhares de exercícios desde iniciantes até para quem já tem mais experiencia e você pode até chegar na primeira posição do rank . boa sorte ! ! ! . . .
  20. @jubitso para isso você precisa colocar outro vetor que armazene os nomes conforme forem digitados pelo usuário , assim você ordena um vetor para mostrar os nomes de forma ordenada e o outro para mostrar na ordem dada pelo usuário .
  21. @Renan Guilherme se você puder postar todo o código no formato de texto seria mais fácil saber o que está causando o erro , e para postar é melhor usar o botão <> que está lá na barra de ferramentas da janela de responder, pois assim seu código mantem todos os caracteres , sendo que de outro modo ficará faltando alguns caracteres , e que causa erros .
  22. @Vengefull seu código está funcionando bem , mas precisa de uma melhor identação e organização, então apenas reorganizei algumas linhas e seu código ficou assim : algoritmo "numeros aleatorio e ordenação sound of sorting" var vetor_30 : vetor [1..30] de inteiro //vetor armazena 30 posiçoes vetor_20 : vetor [1..20] de inteiro //vetor armazena 20 posições p,ascii : inteiro //auxiliar para posicionar o vetor i,j,aux : inteiro //auxiliar para percorrer o vetor OK : logico //flag para verificar se a etapa foi realizada com sucesso aguardar,numeros : caracter //variável criada apenas para aguardar um ENTER na interação com o usuário Inicio //gera os 30 números do vetor inicial para p de 1 ate 30 faca vetor_30[p] := p fimpara //exibe os 30 números gerados escreval() escreval("---- Aqui Estão Os 30 Números Iniciais -------") escreval para p de 1 ate 30 faca escreva(vetor_30[p]:2) se p < 30 ENTÃO escreva(" - ") fimse fimpara escreval//para pular para a linha de baixo escreval escreval("------- Tecle Enter --------") leia(aguardar) //os 20 números escolhido do vetor_30 escreval para i de 1 ate 20 faca // serão 20 números repita // repite se precisar ok := verdadeiro p:=randi(30)+1 // gera um número aleatorio se vetor_30[p]=0 ENTÃO//numero foi deletado ok := falso fimse para j de 1 ate 20 faca//verifica os trinta numeros no vetor_30 se vetor_20[j] = vetor_30[p] ENTÃO//se no vetor já haver esse numero escolhido ok := falso // ok recebe o valor falso para repetir e escolher outro numero interrompa //interrompe a execução e sai desse loop fimse fimpara se ok = verdadeiro ENTÃO vetor_20[i] := vetor_30[p] fimse ate ok fimpara escreval("---- Os Primeiros 20 Números Foram Escolhidos Com Sucesso ----") escreval //escrevando os primeiros números gerados escreval("----------- Modo Aleatório -----------------") escreval("Aqui Estão Os primeiros 20 Números Escolhidos Aleatoriamente") escreval para i de 1 ate 20 faca escreva(vetor_20[i]) se i < 20 ENTÃO escreva(" - ") fimse fimpara escreval escreval escreval("-------- Tecle Enter --------") leia(aguardar) escreval("----------- Modo Ordem Crescente ------------") escreval escreval("Aqui Estão Os primeiros 20 Números Escolhidos Aleatoriamente") escreval("e Colocados Em Ordem Crescente") escreval . . aqui faça a ordenação do vetor usando dois loop um dentro do outro, como mostra esse vídeo abaixo . . para i de 1 ate 20 faca escreva(vetor_20[i]) se i < 20 ENTÃO escreva(" - ") fimse fimpara escreval//para pular para a linha de baixo escreval escreval("-------- Tecle Enter ---------") leia(aguardar) fimalgoritmo para fazer a ordenação você pode aprender vendo essa aula no youtube que explica muito bem :
  23. @LuciianoS2 você se refere ao visual c++ ? esse é um compilador / ide para a linguagem c / c++ , para construção e execução de algoritmo , então só é preciso usar esse program se você quiser fazer e testar algum algoritmo .
  24. @Marcos Paulo feitosa no inicio inicialize o vetor com o número zero, e dentro do primeiro for você precisa colocar um while para que só passe por ele se o número não for repetido, e dentro do while faça a leitura do número e em seguida coloque um loop for que percorra todo o vetor verificando se o número digitado é igual a algum número já lido e que está no vetor, se tiver algum igual coloque uma variável para informar isso, assim depois desse loop veja nessa variável, se não repetiu então coloque o número no vetor e saia do while, modificando o valor da variável que o controla, e assim pegar outro número .
  25. @WilliamNascimento um vetor é como se fosse muitas variáveis em uma só, e para acessar essa variável você só precisa informar qual o índice ou posição do vetor, e em cada posição você pode guardar um dado inteiro ou letra, então um vetor de inteiro com dez posições seria assim : então para guardar um valor no vetor você coloca assim : vetor[5] = 45; e para imprimir o valor dessas dez posições , precisa apenas de duas linhas , assim : for(i=0;i<10;i++) printf("%d\n",vetor[i]);

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!