Посчитать количество предложений в файле - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Посчитать количество предложений в файле. В чем ошибка не понимаю.
#include <stdio.h>
#include <conio.h>
#include <dos.h>
 
main()
{
    int cnt = 0;
    char c;
    char symbols[3] = ".?!";
    FILE *f;
    int pred=0;
    clrscr();
 
    f = fopen("text.txt", "r");
    printf("\n");
    while(!fgetc(f))
    {
    c = fgetc(f);
    printf("\n%s", c);
    for (int i=0; i<3; i++)
        if(c == symbols[i]){
        pred++;
        break;
        }
    }
    fseek(f, 0, SEEK_SET);
    printf("\nPredlojeniy: %i", pred);
    getch();
    fclose(f);
    return 0;
}
Записать результат функции в файл. Если x>y то z=x*Amax иначе z=y*Bmax;
#include <conio.h>
#include <stdio.h>
 
int func(int* num, int N)
{
    int mul=1;
    for(int i=0; i<N; i++)
    mul*=num[i];
    return mul;
}
int FindMax(int* num, int N)
{
    int mul=num[0];
    for(int i=1; i<N; i++)
    if(mul<num[i])
         mul=num[i];
    return mul;
}
int main()
{
    clrscr();
    const int n=3, m=2;
    int i;
    int A[n], B[m];
    printf("Vvedite massiv A\n");
    for(i=0;i<n;i++)
    scanf("%d", &A[i]);
    printf("Vvedite massiv B\n");
    for(i=0;i<m;i++)
    scanf("%d", &B[i]);
    int x=func(A, n);
    int y=func(B, m);
    int Amax=FindMax(A, n);
    int Bmax=FindMax(B, m);
    int z;
    if (x>y)
    z=Amax*x;
    else
    z=Bmax*y;
    printf("%i", &z);
 
    char * f = "output.txt";
    FILE* fp = fopen(f, "w+");
    fprintf(fp, "%f", z);
 
    getch();
    return 0;
}
Помогите пожалуйста.

Решение задачи: «Посчитать количество предложений в файле»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(void) 
{
    char c;
    char symbols[4] = ".?!";
    FILE *f;
    int pred=0;
    clrscr();
 
    f = fopen("text.txt", "r");
    printf("\n");
    while((c=fgetc(f))!=EOF)
    {
    printf("%c", c);
    for (int i=0; i<3; i++)
        if(c == symbols[i]){
        pred++;
        break;
        }
    }
  printf("\nPredlojeniy: %d", pred);
    getch();
    fclose(f);
    return 0;
}

Объяснение кода листинга программы

В этом коде посчитывают количество предложений в файле. Вот список действий:

  1. Подключение необходимых библиотек.
  2. Создание основной переменной — символа c.
  3. Создание массива символов, который будет обозначать конец предложения (точка, вопросительный знак, восклицательный знак).
  4. Открытие файла text.txt с помощью функции fopen.
  5. Очистка экрана с помощью функции clrscr.
  6. Чтение файла посимвольно с помощью функции fgetc и вывод каждого символа на экран.
  7. Переменная pred инициализируется нулем и используется для подсчета количества предложений.
  8. В цикле while происходит чтение символов из файла до тех пор, пока не будет достигнут конец файла (EOF).
  9. Если текущий символ равен одному из символов, обозначающих конец предложения, то переменная pred увеличивается на единицу.
  10. После окончания чтения файла выводится количество предложений.
  11. Файл закрывается с помощью функции fclose.
  12. Программа возвращает ноль, что означает успешное завершение работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы