Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

diogo moura

Membros Plenos
  • Total de itens

    24
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Bom estou fazendo uma questão que se precisa retirar os zeros de uma palavra, eu consegui até ai o problema é que se palavra for 100 ele vai printar só 1 por que eu retirei os zeros, que vai estar errado, vou colocar o link da questão pra vocês entenderem melhor. Tela do link: Link da questão: URI 2714. Código atual: #include <stdio.h> #include <string.h> #include <ctype.h> int main(int argc, char** argv) { char senha[80]; int teste; scanf("%d", &teste); for(int i = 0; i < teste; i++) { scanf("%s", senha); if(strlen(senha) == 20) { if(isupper(senha[0]) && isupper(senha[1])) { for(int j = 0; j < strlen(senha); j++) { if(senha[j] != '0' && senha[j] != 'R' && senha[j] != 'A') { printf("%c", senha[j]); } } printf("\n"); } else { printf("INVALID DATA\n"); } } else { printf("INVALID DATA\n"); } } return 0; }
  2. @devair1010 olá é 2693, desculpa demora estava com internet muito ruim
  3. @Mauro Britivaldo olá eu vi que se subtrair -48, transformaria em inteiro, o sprintf, deu certo
  4. Olá @Mauro Britivaldo Perdão eu me confundi na hora de digitar era de inteiro para string A questão pede pra soma os números dentro da string Eu consegui achar o resultado utilizando a função atoia, só que não foi aceito Parte do código que eu fiz as conversões n1 = nome[2] - 48; /*transformei os dois numeros para interios*/ n2 = nome[3] - 48; itoa(n1, p1, 10); /*converti para string*/ itoa(n2, p2, 10); /* Só que parece o itoa não está mais sendo utilizado*/ strcpy(final, p1); /*E concatenei eles*/ strcat(final, p2); n1 = atoi(final); /*Por fim tranformei ele novamente em inteiro*/ printf("%d\n", n1);
  5. De string para int, ultilizo a função atoi, não sei de int para string
  6. Nossa, já tinha desistido dessa questão, você falou que Caracteres em branco não contam, como eu faria isso, para ler uma string eu só conheço scanf("%s"), scanf("%[^\n]"), gets(), fgest(), qual você ultilizou@Mauro Britivaldo
  7. A questão pede que eu ordene por distância(da menor para a maior), pela região (em ordem alfabética) e por último pelo nome, tentei fazer sem sucesso O meu código #include <stdio.h> #include <stdlib.h> #include <string.h> struct p { char nome[100]; char rosa[100]; int distancia; }; int distancia(const void *a , const void *b); int rosa(const void *c , const void *d); int pornome(const void *e, const void *f); int main(int argc, char** argv) { int teste, i; while(scanf("%d", &teste) != EOF) { struct p pessoas[teste]; for(i = 0; i < teste; i++) { scanf("%s %s %d", pessoas[i].nome, pessoas[i].rosa, &pessoas[i].distancia); } qsort(pessoas, teste, sizeof(struct p), distancia); qsort(pessoas, teste, sizeof(struct p), rosa); qsort(pessoas, teste, sizeof(struct p), pornome); for(i = 0; i < teste; i++) { printf("%s\n", pessoas[i].nome); } } return 0; } int distancia(const void *a, const void *b) { if((*(struct p*)a).distancia == (*(struct p *)b).distancia) return 0; else if((*(struct p*)a).distancia < (*(struct p *)b).distancia) return -1; else return 1; } int rosa(const void *c, const void *d) { int r = strcmp((*(struct p*)c).rosa, (*(struct p *)d).rosa); if (r == 0) return 0; else if(r < 0) return -1; else return 1; } int pornome(const void *e, const void *f) { int c = strcmp((*(struct p*)e).nome, (*(struct p *)f).nome); if (c == 0) return 0; else if(c < 0) return -1; else return 1; }
  8. O que estava tentando fazer deu certo, obrigado
  9. Bom estou fazendo um programa para ver se uma placa é valida ou não, só que ele tem que seguir esse modelo AAA-1234, só que no programa eu digito 12345, ainda considera certo, e e da o final da placa ele vai dizer o dia em questão, as letras só podem ser maiúsculo, e os números de 1 a 9 #include <stdio.h> #include <ctype.h> #include <stdlib.h> int main(int argc, char** argv) { char nome[100]; int teste, i; scanf("%d", &teste); for(i = 0; i < teste; i++) { setbuf(stdin, NULL); scanf("%s9", nome); // tentei limitar desse jeito porém não tive sucesso char l1, l2, l3; l1 = nome[0]; l2 = nome[1]; l3 = nome[2]; if((nome[3] == '-') && (isupper(l1)) && (isupper(l2)) && (isupper(l3))) { if(nome[7] == '1' || nome[7] == '2') { printf("MONDAY\n"); } else if(nome[7] == '3' || nome[7] == '4') { printf("TUESDAY\n"); } else if(nome[7] == '5' || nome[7] == '6') { printf("WEDNESDAY\n"); } else if(nome[7] == '7' || nome[7] == '8') { printf("THURSDAY\n"); } else if(nome[7] == '9' || nome[7] == '0') { printf("FRIDAY\n"); } } else { printf("FAILURE\n"); } } return 0; }
  10. Cara eu tõ começando a acreditar que essa questão é impossível do uri aceitar, por que todas as resposta estão certos.@devair1010 Eu utilizo o Falcon C++@devair1010
  11. Sim, depois reutilizar o vetor, o problema agora é que o resultados que a questão está fornecendo eu consigo encontrar, só que o juiz está acusando 10 % de erro, sendo que já testei todos os nomes possiveis, e deram certo@CiroboyBR
  12. Bom zerei o contador c, porém os resultados sairão iguais o da questão como a imagem mostra, porém quando fui enviar a questão deu 10 % de erro.@devair1010 @Derleyvolt
  13. Eu comentei o código, do que ele vai fazer. /*Bom o objetivo dessa questão e que cada letra tem um determinado numero*/ #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { int i, j, vetor[100], c = 0, teste, k; /*vetor[100] dando do tamanho vetor, c, contador para incrementar o valor, quando encontar uma letra que tem na frase dado a letra ele vai atriburi o valor para o vetor*/ char nome[100]; char primeiro[7] = {'a', 'k', 'u', 'G', 'Q'}, segundo[7] = {'b', 'l', 'v', 'I', 'S'}; char terceiro[7] = {'E', 'O', 'Y', 'c', 'm', 'w'}, quarto[7] = {'F', 'P', 'Z', 'd', 'n', 'x'}; char quinto[6] = {'J', 'T', 'e', 'o', 'y'}, sexto[7] = {'D', 'N', 'X', 'f', 'p', 'z'}; char setimo[6] = {'A', 'K', 'U', 'g', 'q'}, oitavo[6] = {'C', 'M', 'W', 'h', 'r'}; char nono[6] = {'B', 'L', 'V', 'i', 's'}, deimo[5] = {'H', 'R', 'j', 't'}; //preenchendo o vetor com as letrar scanf("%d", &teste); for(k = 0; k < teste; k++) { setbuf(stdin, NULL); gets(nome); int tam = strlen(nome); for(i = 0; i < tam; i++) { for(j = 0; j < 7; j++) { if(nome[i] == primeiro[j]) /*aqui eu comparo se na frase tem determinada letra, se ela tiver vai ser atribuido um valor numerico para o vetor, c++, para incrementar*/ { vetor[c++] = 0; } } for(j = 0; j < 7; j++) { if(nome[i] == segundo[j]) { vetor[c++] = 1; } } for(j = 0; j < 7; j++) { if(nome[i] == terceiro[j]) { vetor[c++] = 2; } } for(j = 0; j < 7; j++) { if(nome[i] == quarto[j]) { vetor[c++] = 3; } } for(j = 0; j < 6; j++) { if(nome[i] == quinto[j]) { vetor[c++] = 4; } } for(j = 0; j < 7; j++) { if(nome[i] == sexto[j]) { vetor[c++] = 5; } } for(j = 0; j < 6; j++) { if(nome[i] == setimo[j]) { vetor[c++] = 6; } } for(j = 0; j < 6; j++) { if(nome[i] == oitavo[j]) { vetor[c++] = 7; } } for(j = 0; j < 6; j++) { if(nome[i] == nono[j]) { vetor[c++] = 8; } } for(j = 0; j < 5; j++) { if(nome[i] == deimo[j]) { vetor[c++] = 9; } } } for(i = 0; i < 12; i++) { printf("%d", vetor[i]); } printf("\n"); //mostro o vetor memset(vetor, 0, sizeof(vetor)); /*Queria limpar o vetor para que eu pudese realizar os proximos testes*/ /*Só que depois que o zero o valor do vetor ele não recebe mais nenhum valor*/ } return 0; } @Derleyvolt
  14. Bom eu consegui zerar o vetor. Olha ai imagem ai, só que o vetor não recebe mais valores, só fica mostrando zeros. adicionado 2 minutos depois Zerei o valor do vetor depois de mostrar na tela, vou colocar a parte do meu código que fiz a alteração for(i = 0; i < 12; i++) { printf("%d", vetor[i]); } printf("\n"); memset(vetor, 0, sizeof(vetor)); Será que utilizei memset(vetor, 0, sizeof(vetor)); no lugar errado? @Derleyvolt
  15. Continua o mesmo problema utilizei o que você falou, e continua dando o mesmo erro, o primeiro valor que mostra é o que sempre o que fica @Derleyvolt

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×