Ir ao conteúdo
  • Cadastre-se

jtc-carr

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

6
  1. #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 800 void contar (char *str, int *vogal, int *consoante) { *vogal = *consoante = 0; while (*str) { char i = tolower (*str); if (i >= 'a' && i <= 'z') { if (i == 'a' || i == 'e' || i == 'i' || i == 'o' || i == 'u') { *vogal += 1; } else { *consoante += 1; } } *str++; } } int main () { char texto[MAX]; int consoante, vogal,numero; int cont, letra = 0, linha = 0, soma = 0; FILE *f = stdin; while (fgets (texto, MAX, stdin) != NULL) { contar (texto, &consoante, &vogal); { for (cont = 0; texto[cont]; cont++) { if ((!soma) && (texto[cont])) { soma = 1; linha++; } if (texto[cont] - ' ') letra++; } } } printf ("%dlinhas %dcaracteres %dvogal %dnumero %d consoantes", linha, letra, vogal,numero, consoante); } O código que tenho é este e pretendo somar tudo o que inserir mas só lê a ultima linha, quem puder ajudar
  2. Já fiz as funções o problema agora é que não lê e soma o conteúdo das várias linhas, só mesmo a da ultima linha Com este texto: 123457890 aeiou bcdfghj qwq Devia dar 10 números , 10 vogais e 5 consoantes dá-me 0numeros, o consoantes e 3 vogais(qwq)
  3. Queria a partir de um ficheiro fazer varias somas do seu conteúdo por exemplo de, vogais, números,consuantes, somo bem as linhas, mas para o restante a função mas não funciona como devia, só contando o que esta na ultima linha, como faço para que some todas as linhas usando a função que tenho feita soma (char *str, char*vogal, char*consoante) FILE *f = stdin; while (fgets (ficheiro, 1000, stdin) != NULL) { insiro no stdin: 123456 bcd fgh aeiouae r Output obtido: 5 linhas 20caracteres 1vogal 0numeros 0consoantes Output pretendido:5 linhas 40caracteres 7vogal 6numeros 7consoantes
  4. Obrigado, estava-me aqui a falhar isso E se fosse para contar os caracteres e os números o que deverei acrescentar fiz uma comparação com os10 números mas não a contagem if (i == '0' || i == '1' || i == 2' || i == '3' || i == '4' || i == '5' || i == 6' || i == '7' || i == '8'|| i == '9' ) adicionado 6 minutos depois adicionado 10 minutos depois Outra duvida para acrescentar outra soma por exemplo de caracteres especiais, vogais, letra "a" , numeros, como fazer experimentei com acrescentar uma linha if e não deu adicionado 11 minutos depois Outra duvida para acrescentar outra soma por exemplo de caracteres especiais, vogais, letra "a" , numeros, como fazer experimentei com acrescentar uma linha if e não deu
  5. Queria fazer um programa para contar o numero de linhas e palavras usadas via stdin consegui contar as linhas, mas não soma palavras while( (texto[MAX]=fgetc(textos))!= EOF ) if(texto[MAX] == '\n') linha++; printf("Existem %d linhas no arquivo\n", linha); se digitar: aaa bbb cccc ccc xxxxx Deveria devolver Existem 4 linhas e 5 palavras Alguma ajuda
  6. O enunciado completo: /****************************************************************************** Considere o seguinte código que gera todos os números de 0000 a 'a' Refaça o programa utilizando vetores com o valor máximo 20000 Remova duplicados e mostre quantos números foram apresentados O resultado deverá ser 0000 .(...). 1111 Foram mostrados .(...). números *******************************************************************************/ #include <stdio.h> int main() { int i, j, k, w, h, a = 1; for (i = 0; i <= a; i++) for (j = 0; j <= a; j++) for (k = 0; k <= a; k++) for (w = 0; w <= a; w++) for (h = 0; h <= a; h++) printf ("%d%d%d%d\t", i, j, k, w, h); } Alguém que me possa ajudar, não estou a conseguir avançar, obrigado Joana
  7. obrigado cara ficou otimo, e como faço para retirar os repetidos ou seja só apresentar 00000 00001 00011 00111 01111 1111 de forma automatica para se mudar o 1 pelo 2 funcionar na mesma
  8. deve ser muito básico, mas não estou a conseguir preciso que os valores fiquem num vetor e não nas variáveis, já tentei de varias formas e não dá, depois preciso de somar o numero de numeros apresentados e retirar os repetidos ajudem-me //Listar numeros de 00000 até a int i, j, k, w, h, a = 1; for (i = 0; i <= a; i++) for (j = 0; j <= a; j++) for (k = 0; k <= a; k++) for (w = 0; w <= a; w++) for (h = 0; h <= a; h++) printf ("%d%d%d%d\t", i, j, k, w, h);

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