Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
6 / 6 / 4
Регистрация: 09.11.2011
Сообщений: 140

Записать строку в другой файл в две строки - с четными и нечетными числами

12.03.2012, 16:17. Показов 4044. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Задача: В файле input.txt лежит строка, ее надо записать в файл output.txt в две строки: 1-ая строка с нечётными цифрами, 2-ая с чётными и написать "YES", если чётных больше и "NO", если меньше.

в файле input.txt 4 16 19 31 2

output.txt

19 31
4 16 2
"YES"

C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <string.h>
#define MAX 100
 
int main() 
{   
    char str[MAX], n;
    int i;
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
 
}
Собственно вопрос - как считать из файла всю строку? Как записать строку в массив? Как в массиве выбрать цифры пропуская пробелы? Как в массиве из символов 1 и 6 сделать цифру 16? Как вывести результат в output.txt в 2-е строки?

Спасибо Всем кто потратил на меня своё драгоценное время.

P.S Я только учусь, какашками не забрасывать)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2012, 16:17
Ответы с готовыми решениями:

Разделить последовательность А(10) на два массива, записать в один из них элементы с четными номерами, а в другой - с нечетными.
массив. Разделить последовательность А(10) на два массива, записать в один из них элементы с четными номерами, а в другой - с нечетными.

Как записать две строки поля одной таблицы в одну строку другой?
Есть такой запрос к БД и результат этого запроса две строки ROH и KOR поля FIL С 6 строки результат запроса заполняется в kbmMemTable1...

Создать директорию, в ней - файл, записать в него строку, переписать вторую половину строки в другой файл.
Надо выполнить задание, создать директорию, в ней создать файл записать в него строку, потом переписать вторую половину строки в другой...

27
6 / 6 / 4
Регистрация: 09.11.2011
Сообщений: 140
12.03.2012, 19:55  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от retmas Посмотреть сообщение
не забудьте освободить выделенную память, когда она больше не нужна.
в этом конкретном примере делать этого не обязательно, но вообще приучайтесь делать это везде и всегда
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_SYMBOLS  100
 
int main() 
{   
    int n = MAX_SYMBOLS;
    char *str = NULL;
    str = calloc(n, sizeof(char));
    FILE *f_read = fopen("input.txt","r");
    FILE *f_write = fopen("output.txt","w");
    fgets(str, n, f_read);
    fprintf(f_write, str, "%s");
    
    free(str);
    
    return 0; 
}
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
12.03.2012, 20:03
имейте в виду, что fgets записывает '\n' в строку(если в файле есть). важно ли это - зависит от конкретной задачи

Добавлено через 42 секунды
Цитата Сообщение от gnuvse Посмотреть сообщение
"Как в массиве выбрать цифры пропуская пробелы? Как в массиве из символов 1 и 6 сделать цифру 16?
в чем трудность?
0
6 / 6 / 4
Регистрация: 09.11.2011
Сообщений: 140
12.03.2012, 20:11  [ТС]
Собственно вовсём, я подумываю прочитать пару-тройку раз K&R, а потом вернуться к этому вопросу. А то я достану Вас. И не знаю с чего начать, даже не знаю, как весь этот код правильно в отдельную функцию вынести
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
12.03.2012, 20:13
прочитайте про ф-ии atol и strtol
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
12.03.2012, 20:17
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
45
#include <stdio.h>
#include <stdlib.h>
 
#define MAX 100
 
int main(void)
{
    char* fileInput = "input.txt";
    const char* fileOutput = "output.txt";
    FILE *input, *output;
    int numbers[MAX], 
        number = 0,
        evenCount = 0,
        oddCount = 0,
        totalCount = 0,
        i = 0;
    input = fopen(fileInput, "r");
    output = fopen(fileOutput, "w");
    if (!input || !output)
    {
        fputs("Can not open files\n", stderr);
        return EXIT_FAILURE;
    }
    while (!feof(input))
    {
        fscanf(input, "%d", &number);
        if (number & 1)
            oddCount++;
        else
            evenCount++;
        numbers[totalCount++] = number;
    }
    for(i = 0; i < totalCount; i++)
        if (numbers[i] & 1)
            fprintf(output, "%d ", numbers[i]);
    fputs("\r\n", output);
    for(i = 0; i < totalCount; i++)
        if (!(numbers[i] & 1))
            fprintf(output, "%d ", numbers[i]);
    fprintf(output, "\r\n%s", evenCount > oddCount ? 
        "yes" : (evenCount == oddCount ? "equal" : "no"));
    fclose(input);
    fclose(output);   
    return EXIT_SUCCESS;
}
1
6 / 6 / 4
Регистрация: 09.11.2011
Сообщений: 140
12.03.2012, 20:22  [ТС]
Оо, а можно немного комментариев?
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
12.03.2012, 20:26
gnuvse, нет
0
6 / 6 / 4
Регистрация: 09.11.2011
Сообщений: 140
12.03.2012, 20:29  [ТС]
Цитата Сообщение от Петррр Посмотреть сообщение
gnuvse, нет
Почти разобрался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2012, 20:29
Помогаю со студенческими работами здесь

Дан текстовый файл с действительными числами. Найти сумму его элементов с четными номерами и записать в новый файл
Дан текстовый файл с действительными числами. Найти сумму его элементов с четными номерами и записать в новый файл. Помогите пожалуйста...

Записать в файл G все компоненты файла F, которые являются нечетными числами
И ещо раз Здраствуйте помогите ещо такую решить задачку) Цель: Изучение процедур и функций для организации работы с данными файлового...

Записать в файл g все компоненты файла f, которые являются нечетными числами
1. Файл f заполнить 300 случайными целыми числами. Записать в файл g все компоненты файла f, которые являются нечетными числами.

Цикл с четными и нечетными числами
как мне сделать цикл, желательно for, который бы перебирал цифры от 0 до 10, и если цифра четная, запускал один вложенный цикл, а в другом...

Имеется файл с 30 числами. Записать числа в другой файл
Привет, помогите решить. Имеется файл с 30 числами. Запись в другой файл числа имеющегося файла в обратном порядке. заранее...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru