Переписать компоненты файла F в файл G так, чтобы в файле G не было двух соседних компонент с одним знаком - C (СИ)

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

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

Всем привет. Задача следующая: Дан файл F, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл F содержит столько же отрицательных чисел, сколько положительных. Используя вспомогательный файл H, переписать компоненты файла F в файл G так, чтобы в файле G не было двух соседних компонент с одним знаком. Вот попытка. Я прочитал файл F, упорядочил в файл H числа следующим образом: сначала идут положительные, а потом отрицательные. Как бы теперь записать в файл G эти числа так, чтобы первое число было положительным, второе отрицательным, и т.д. ?.. Помогите пожалуйста.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define SIZE 9
int main()
{
    int a[SIZE];
    int t, i,k,l;
    FILE*F;
    FILE*G;
    FILE*H;
            if((F=fopen("Chisla.txt","r"))==NULL)
            {
                printf("Файл открыть не удалось!\n");
                exit(1);
            }
 
            if((G=fopen("Znakchisla.txt","w"))==NULL)
            {
                printf("Файл открыть не удалось!\n");
                exit(1);
            }
 
            if((H=fopen("itog.txt","w"))==NULL)
            {
                printf("Файл открыть не удалось!\n");
                exit(1);
            }
                    i=0;
    while (!feof(F))
    {
    for (i=0; i<=SIZE; i++)
        {
            fscanf (F,"%d",&a[i]);
    }}

    for(i=0; i<=SIZE; i++)
    
        {
            t=a[i];
                if (t>0) fprintf(G,"%d ", t);
            }
    for (k=0;k<=SIZE; k++)
    {
    l=a[k];
    if (l<0) fprintf(G, "%d ", l);
    }

    fclose(F);
    fclose(G);
    fclose(H);
    getch();
    
    return 0;
}

Решение задачи: «Переписать компоненты файла F в файл G так, чтобы в файле G не было двух соседних компонент с одним знаком»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define SIZE 9
int main()
{
int a[SIZE];
int t, i,k,l;
 
FILE*F;
FILE*G;
FILE*H;
 
if((F=fopen("Chisla.txt","r"))==NULL)
{
printf("Файл открыть не удалось!\n");
exit(1);
}
 
if((G=fopen("Znakchisla.txt","w"))==NULL)
{
printf("Файл открыть не удалось!\n");
exit(1);
}
 
if((H=fopen("itog.txt","w"))==NULL)
{
printf("Файл открыть не удалось!\n");
exit(1);
}
 
i=0;
while (!feof(F))
{
for (i=0; i<=SIZE; i++)
{
fscanf (F,"%d",&a[i]);
}
}
            
for (k=0;k<=SIZE; k++)
{
l=a[k];
if (l<0) fprintf(G, "%d ", l);
}
 
             
for(i=0; i<=SIZE; i++)
{
t=a[i];
if (t>0) fprintf(H,"%d ", t);
}
        
 
fclose(F);
fclose(G);
fclose(H);
getch();
        
return 0;
}

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


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

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

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