Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. O comentário do Eventide faz sentido principalmente porque você não está programando C++, mas em C "puro" usando diretamente a API nativa do Windows. Se quiser programar em C++, sugiro que você procure criar seus aplicativos usando algum framework como MFC do Visual C++, OWL (antigo mas é bem poderoso) da Borland, etc. Aí sim poderá explorar mais os recursos de POO do C++
  2. Midori

    Os dois maiores numeros

    Fiz uma pequena alteração no seu código, segue if( number > maior1 ){ if(maior1 > maior2){ maior2 = maior1; } maior1 = number;}if( number > maior2 && number != maior1 ){ maior2 = number;}
  3. Se for para criar aplicativos para o modo console, no windows, eu gosto do Turbo ou Borland C++.
  4. Para simplificar o programa, dá para usar uma matriz O ideal é ir registrando o valor na primeira coluna e o número de repetições na segunda. Nesse código o zero não é considerado. Talvez te ajude, ou quem tiver uma dúvida semelhante. #include<stdio.h> int main(void){ int matriz[20][2] = {{0},{0}}, numero; int i, n, elemento = 0, novo; for(i = 0; i < 20; i++){ printf("Elemento %d = ", i + 1); scanf("%d", &numero); if(numero < 0){ break; } for(n = 0, novo = 1; n <= i; n++){ if(matriz[n][0] == numero){ matriz[n][1]++; novo = 0; break; } } if(novo){ matriz[elemento][0] = numero; matriz[elemento][1]++; elemento++; } } for(i = 0; i < elemento; i++){ if(matriz[i][1] > 1){ printf(" O numero %d aparece %d vezes\n", matriz[i][0], matriz[i][1]); } } return 0; }
  5. Midori

    exercicio - strings

    Screen, O problema é tentar alterar mesmo, já que *texto será somente leitura. Por isso dá erro. Acho que não tem problema usar dessa forma, mas uma boa práticar seria colocar const. const char *texto = "palavra"; Assim o compilador apresentaria um warning caso alguma parte do programa tente alterar. Mas o melhor naquele caso seria como você fez (char texto[] = "...") na forma de vetor mesmo.
  6. Midori

    exercicio - strings

    Aqui rodou normalmente. Mas veja que eu usei ponteiro, talvez seu professor não aceite essa resolução. Teste dessa forma, #include <stdio.h> int main(void){ char frase[40]; int i; printf("Entre com o texto: "); fgets(frase,39,stdin); for(i = 0; frase[i] != '\0'; i++) if(frase[i] >= 97 && frase[i] <= 122) frase[i] -= 32; printf("\nNovo texto: %s\n", frase); return 0; } Screen, No meu primeiro exemplo o compilar já calcula o tamanho do texto e coloca '\0' no final, certo? Nesse caso não precisa de alocação dinâmica.
  7. Midori

    exercicio - strings

    Veja que a diferença na tabela ASCII entre minúscula e maiúscula é de 32. Portanto basta verificar se o carctere é >= 97 e <= 122 para efetuar a conversão e subtrair por 32. void converte(char *v){ while(*v != '\0'){ if(*v >= 97 && *v <= 122) *v -= 32; v++; } } int main(void){ char *texto = "teste 123"; converte(texto); printf("Texto = %s", texto); return 0; }
  8. Segue uma forma bem simples de resolver o exercício. #include <stdio.h> int main(void){ int x, y, z, w, s, num; scanf("%d", &num); if (num < 10){ printf("%d\n", num); return 0; } for(x = s = 0, z = 1, y = num - (num % z); x < ((num < 100) ? 2 : (num > 100 && num < 1000) ? 3 : 4); ++x){ w = (y / z % 10); z *= 10; y -= (y % z); s += w; } printf("%d", s); 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!