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

    41
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. A maneira que eu pensei foi se achar o número ele substituído por um número negativo, mas queria remover o elemento totalmente do vetor #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int vetor[] = {1, 2, 3, 4, 5}, i; int remove_num = 5; int tam = 5; for(i = 0; i < tam; i++) { if(vetor[i] == remove_num) { vetor[i] = -1; } } for(i = 0; i < tam; i++) { if(vetor[i] >= 0) { printf("%d\n", vetor[i]); } } return 0; }
  2. Fiz o que mandou só que não apareceu nenhum valor@isrnick, desculpe se estou sendo meio difícil de entender a sua solução
  3. @isrnick me perdoe se eu estiver falando bobagem, mas por exemplo o número 4 possui os divisores 1 2 4, o no seu código só aparece 2 2 2, você poderia me explicar melhor o código
  4. #include <stdio.h> int main() { int n=4, cont=0,i; for(i=1;i<=4;i++) { if(n%i==0) { cont++; } } printf("%d", cont); } Esse é a forma que eu conheço tem outra maneira mais eficiente que essa ?
  5. Muito obrigado agora minhas dúvidas foram esclarecidas
  6. Não sou muito bom com ponteiro, porém meu professor mostrou um código e até agora não entendi por que a função retornou um vetor com os valores alterados #include <stdio.h> #include <stdlib.h> int *funcao(int vetor[]); int main(int argc, char** argv) { int vetor[10], *ptr; for(int i = 0; i < 10; i++) { scanf("%d", &vetor[i]); } ptr = funcao(vetor); for(int i = 0; i < 10; i++) { printf("%3d",ptr[i]); } printf("\n"); return 0; } int *funcao(int vetor[]) { int *n; n = (int*)malloc(sizeof(int) * 10); for(int i = 0; i < 10; i++) { n[i] = vetor[i] * 2; } return n; }
  7. Seria assim ? @Boko Moko #include <stdio.h> #include <string.h> struct pessoas { char nome[100]; int nota; }; int main(int argc, char** argv) { struct pessoas pessoa[100]; int teste, aux; char a[100]; scanf("%d", &teste); for(int i = 0; i < teste; i++) { scanf("%s %d", pessoa[i].nome, &pessoa[i].nota); } for(int i = 0; i < teste; i++) { for(int j = i + 1; j < teste; j++) { if(pessoa[i].nota == pessoa[j].nota) { if(strcmp(pessoa[i].nome, pessoa[j].nome) == 1) { strcpy(a, pessoa[i].nome); strcpy(pessoa[i].nome, pessoa[j].nome); strcpy(pessoa[i].nome, a); } } else if(pessoa[i].nota > pessoa[j].nota) { aux = pessoa[i].nota; pessoa[i].nota = pessoa[j].nota; pessoa[j].nota = aux; } } } for(int i = 0; i < teste; i++) { printf("%s %d\n", pessoa[i].nome, pessoa[i].nota); } return 0; } , acho que não deu certo
  8. A questão pede que leia nome(sem espaço) e numero(inteiro) e se ordenado pelo numero e caso o número fosse igual seria ordenado por ordem alfabética, tentei fazer mas não consegui O meu código #include <stdio.h> #include <string.h> struct pessoas { char nome[100]; int nota; }; int main(int argc, char** argv) { struct pessoas pessoa[100]; int teste, aux; char a[100]; scanf("%d", &teste); for(int i = 0; i < teste; i++) { scanf("%s %d", pessoa[i].nome, &pessoa[i].nota); } for(int i = 0; i < teste; i++) { for(int j = i + 1; j < teste; j++) { if(pessoa[i].nota == pessoa[j].nota) { strcpy(a, pessoa[i].nome); strcpy(pessoa[i].nome, pessoa[j].nome); strcpy(pessoa[i].nome, a); } else if(pessoa[i].nota > pessoa[i].nota) { aux = pessoa[i].nota; pessoa[i].nota = pessoa[j].nota; pessoa[j].nota = aux; } } } for(int i = 0; i < teste; i++) { printf("%s %d\n",pessoa[i].nome,pessoa[i].nota); } return 0; }
  9. Estou fazendo uma questão que pede para eu retirar apenas os números da frase, o meu código só consegue pegar os números com frases pequenas, Exemplo de frase que o meu código falha, esse caso de teste por ser muito grande o código não vai conseguir retirar o número 100, teria uma função para isso ? #include <stdio.h> #include <string.h> #include <ctype.h> int main(int argc, char** argv) { char nome[] = {"esse vai passar 900"}, aux[101]; int cont = 0, tam = strlen(nome); int indice = 0; for(int i = 0; i < tam; i++) { if(isdigit(nome[i])) { indice = i; break; } } for(int i = indice; i < tam; i++) { aux[cont] = nome[i]; cont++; } aux[cont] = '\0'; puts(aux); return 0; }
  10. Bom estou fazendo a Questão 2729 do uri, que pede para ordenar em ordem alfabética e eliminar os nomes repetidos , já tentei varias entradas e o resultado sai o resultado certo que a questão pede, alguém poderia colocar algum caso que meu código não passe #include <stdio.h> #include <string.h> #include <stdlib.h> int ordena(const void *a, const void *b); int main(int argc, char** argv) { char vetor_nomes[1700][100], nome[1000000], *ponteiro, auxiliar[1700][100]; int teste, cont1, cont2; scanf("%d", &teste); while(teste--) { getchar(); scanf("%[^\n]", nome); cont1 = 0, cont2 = 0; ponteiro = strtok(nome, " "); while(ponteiro != NULL) { strcpy(vetor_nomes[cont1], ponteiro); cont1++; ponteiro = strtok(NULL, " "); } qsort((void*)vetor_nomes, cont1, sizeof(vetor_nomes[0]), ordena); for(int i = 0; i < cont1; i++) { if(!strcmp(vetor_nomes[i], vetor_nomes[i + 1]) == 0) { strcpy(auxiliar[cont2], vetor_nomes[i]); cont2++; } } printf("%s", auxiliar[0]); for(int i = 1; i < cont2; i++) { printf(" %s", auxiliar[i]); } printf("\n"); } return 0; } int ordena(const void *a, const void *b) { return (strcmp((char *)a, (char *)b)); }
  11. Olha @AnsiC , fiz o que você pediu porém ainda estou levando 60% de erro
  12. @foxjin23 Em c ficaria desse jeito #include <stdio.h> #include <math.h> int somatorio(int num); int main(int argc, char** argv) { int n; scanf("%d", &n); printf("%d\n",somatorio(n)); return 0; } int somatorio(int num) { int soma = 0; for(int i = 0; i < num; i++) { soma += ((pow(i, 2)) / (i + 3)); } return soma; }
  13. Bom estou fazendo a questão 1199 Conversão de bases do uri porém em alguns casos o meu teste passou, só que quando eu coloquei um número que o pessoal colocou no fórum deu erro, o número foi 0x80000000 o resultado esperado é 2147483648, só que meu código imprime -2147483648, já tentei multiplicar por -1 e o resultado continua negativo, alguém poderia me ajudar #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> char saber_o_tipo(char *numero); int main(int argc, char** argv) { char *numero; numero = (char*)malloc(sizeof(char) * 1000000); int resposta, valor; while(1) { scanf("%s", numero); if(numero[0] == '-') { break; } resposta = saber_o_tipo(numero); if(resposta > 0) { sscanf(numero, "%x", &valor); if(valor < 0) { printf("%d\n", valor*-1); } else { printf("%d\n", valor); } } else { sscanf(numero, "%d", &valor); printf("Ox%X\n", valor); } } free(numero); return 0; } char saber_o_tipo(char *numero) { int i, contador = 0, tamanho; tamanho = strlen(numero); for(i = 0; i < tamanho; i++) { if(isalpha(numero[i])) { contador++; } } if(contador > 0) { return 1; } else { return 0; } }

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

×