Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 20
1

Подсчитать количество слов ananas в файле

06.12.2019, 15:21. Показов 368. Ответов 5

Author24 — интернет-сервис помощи студентам
Код не проходит тесты ( Return code of executed application is different than expected.
) . Можете подсказать где ошибка?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
 
int main()
{
    FILE* bs;
    FILE* out;
     bs = fopen("bananas.txt","r");
    if(bs == NULL) return 1;
 
    char c, result;
    char symbols[] = "ANSans";
    int p = 0, flag = 0, words = 0;
    while((c = fgetc(bs)) != EOF )
    {
        for ( int i = 0; symbols[i] != '\0'; i++ )
        {
            if ( c == symbols[i] )
            {
                p++;
                flag = 1;
                break;
            }
        }
        if ( p == 6 )
        {
            words++;
            flag = 0;
        }
        if ( flag == 0 ) p = 0;
        else flag = 0;
    }
 
    fclose(bs);
 
    result = (char)words+'0';
 
    out = fopen("bananas.txt","w");
    fputc(result,out);
 
    fclose(out);
 
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2019, 15:21
Ответы с готовыми решениями:

Подсчитать количество слов в файле
Задачка вот такая, нужна помощь с ее решением) Один из способов идентификации автора...

Подсчитать количество слов в файле
Добрый день. Подскажите пожалуйста, как лучше посчитать количество слов в файле? Вот я сделал,...

Подсчитать количество слов helloz в файле
Изначально дан файл с текстом, после подсчета количества слов helloz, нужно записать в файл их...

В заданном текстовом файле подсчитать количество слов
В заданном текстовом файле подсчитать количество слов и вывести ее на дисплей. С помощью FILE*

5
4255 / 2951 / 688
Регистрация: 08.06.2007
Сообщений: 9,856
Записей в блоге: 4
06.12.2019, 16:50 2
А какой должен быть return code? Вы же присваиваете этот код в операторе return 0; Присвойте, который нужно. Всё в ваших руках.
К программе может возникнуть много других вопросов, Но вы их не задаете, значит остальное у вас в порядке.
1
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 20
06.12.2019, 21:04  [ТС] 3
Return code: expected 0, was 1. Не понимаю почему срабатывает return 1, потому что в тестах нет пустого файла, значит и условии сработать не могло. Если есть какие-то ошибки в программе или неточности, подскажите пожалуйста.
0
4255 / 2951 / 688
Регистрация: 08.06.2007
Сообщений: 9,856
Записей в блоге: 4
06.12.2019, 22:31 4
Значит, файл bananas.txt отсутствует или лежит не там, где надо. Меня смущает, что ваш выходной файл носит то же самое имя. Может быть, вы перепутали имя? Еще меня смущает символ, который вы выводите в выходной файл, который перед этим как-то странно сформировали. Что вы имели в виду. Сам подсчет не проверял.
1
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 20
07.12.2019, 00:33  [ТС] 5
Входной и выходной файлы имеют одно и тоже название потому что весь текст с входного файла нужно стереть и добавить в этот же файл ответ ( кол-во слов ). Вывожу количество слов ananas в файл, когда пытался в fputc положить просто int, то в файл сохранялись странные символы. Поэтому перевел число в символ. Спасибо за помощь, методом тыка я решил проблему, хотя не понимаю почему оно так работает, но я просто изменил
C
1
int main()
на
C
1
int main(int argc, char* argv[])
и потом изменил
C
1
bs = fopen("bananas.txt","r");
на
C
1
FILE *input = fopen(argv[1],"r");
.
0
4255 / 2951 / 688
Регистрация: 08.06.2007
Сообщений: 9,856
Записей в блоге: 4
07.12.2019, 00:51 6
Теперь понял, что вы выводите. У вас в файле оказывается один символ в диапазоне от '0' до '9'. К символам можно не преобразовывать. В любом случае символьный параметр при передаче в функцию преобразуется в целый. А уж сама функция выведет в файл младший байт. Так что можно так написать:
C
1
fputc(words+'0', out);
0
07.12.2019, 00:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2019, 00:51
Помогаю со студенческими работами здесь

Подсчитать количество слов в файле при помощи GETWORD
Подсчитать количество слов в текст. файле.При помощи GETWORD.

Подсчитать в текстовом файле количество слов и количество цифр
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте?

Подсчитать количество слов в файле
Подскажите, пожалуйста, написала программу, которая считывает текст из файла, а нужно чтобы еще и...

Подсчитать количество слов в файле
Моя программа. но работает не правильно. var f:text; s:string; i,k,n:integer;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru