Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 16:28   #1
camel5
Пользователь
 
Аватар для camel5
 
Регистрация: 10.11.2013
Сообщений: 28
По умолчанию Файлы(си)

Дан файл 1.txt, компоненты которого являются целыми числами.Файл 1.txt содержит столько же отрицательных чисел, сколько положительных. Используя вспомогательный файл 2.txt, переписать компоненты файла 1.txt в файл 3.txt так, чтобы в файле 3.txt числа шли в следующем порядке: два положительных, два отрицательных, два положительных, два отрицательных( предполагается, что число компонент в файле делится на 4).
Не получается шаг 3.
Шаги:
1)из файла 1 - отрицательные в файл 2, а "+" в файл 3
2) из файла 3.txt числа записываю в 1.txt.
3)из файла 1.txt по 2 положительных элемента в файл 3.txt и из файла 2.txt по 2 "-" элемента в файл 3.txt.То здесь должен быть цикл, реализующий поcледовательность: 2 "+" , 2 "-", 2 "+", 2 "-". Что у меня и не получается.
Код:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 64
 
int main()
 
{   FILE *f1, *f2, *f3;
    int a,a1,a2,a3,a4,i;
 
//шаг 1: из файла 1 - отрицательные в файл 2
f1 = fopen("1.txt", "r");
f2 = fopen("2.txt", "w");
f3 = fopen("3.txt", "w");
 
    while (fscanf (f1, "%d", &a) == 1)
        if (a < 0)
    fprintf (f2, "%d", a);
    else
            fprintf (f3, "%d   ", a);
    fclose(f1);
    fclose(f2);
    fclose(f3);
   //шаг 2  из файла 3.txt  числа записываю в 1.txt 
 f1 = fopen("1.txt", "w");
 f3 = fopen("3.txt", "r");
 
 while (fscanf (f3, "%d", &a) == 1)
        fprintf (f1, "%d   ", a);
 
    fclose(f1);
    fclose(f3);
    
//шаг 3: из файла 1 положительные и попеременно
//из файла 2 отрицательные в файл 3
 
f1 =fopen("1.txt","r");
f2 = fopen("2.txt", "r");
f3 = fopen("3.txt", "w");
for(i=0; i<SIZE; i++){
   while (fscanf (f1, "%d%d", &a1, &a2) == 2)
   fprintf (f3, "%d  %d", a1, a2);
   while (fscanf (f2, "%d%d", &a3, &a4) == 2)
   fprintf (f3, "%d  %d", a3, a4);
}
fclose(f1);
fclose(f2);
fclose(f3);
return 0;
}

Последний раз редактировалось camel5; 03.04.2014 в 16:50.
camel5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы: Составить программу, которая перепишет фамилии в отдельные файлы в соответствии с названием группы Гульвира Помощь студентам 1 23.05.2013 10:04
Очень нужно сделать задачу в Delphi(Типизированные файлы. файлы записи) Vitalik1 Помощь студентам 1 16.12.2011 10:38
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53