Как записать в другой файл числа (два положительных, затем два отрицательных)?
Есть два файла в первом положительные числа, во втором отрицательные.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <Windows.h>
int sozd()
{
FILE* fp;
fp = fopen("file1.txt", "w");
int a, i, n;
if (fp == NULL)
{
return 1;
}
printf("Введите количество чисел n: ");
scanf("%d", &n);
fscanf(fp, "%d ", &n);
printf("\nВведите %d чисел: ", n);
for (i = 0; i < n; i++)
{
scanf("%d", &a);
fprintf(fp, "%d ", a);
}
printf("\n");
fclose(fp);
return 0;
}
int read()
{
FILE* fp;
FILE* gp;
FILE* pp;
int a, zero, num, neg, n;
fp = fopen("file1.txt", "r");
gp = fopen("file2.txt", "w");
pp = fopen("file3.txt", "w");
while (fscanf(fp, "%d", &a) == 1)
{
if (a > 0)
{
fprintf(gp, "%d ", a);
zero = 0;
fprintf(fp, "%d ", zero);
}
else
{
fprintf(pp, "%d ", a);
}
}
fclose(fp);
fclose(gp);
fclose(pp);
gp = fopen("file1.txt", "rt+");
pp = fopen("file2.txt", "rt");
fp = fopen("file3.txt", "r");
//
fclose(gp);
fclose(pp);
return 0;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "Russian");
FILE* fp;
FILE* gp;
FILE* pp;
pp = fopen("file1.txt", "r");
gp = fopen("file2.txt", "r");
fp = fopen("file3.txt", "r");
int a, i, n, j;
sozd();
read();
// вывод
printf("Файл f:");
while (fscanf(fp, "%d", &a) == 1)
{
printf("%d ", a);
}
printf("\n");
printf("Файл g:");
while (fscanf(gp, "%d", &a) == 1)
{
printf("%d ", a);
}
printf("\n");
printf("Файл p:");
while (fscanf(pp, "%d", &a) == 1)
{
printf("%d ", a);
}
fclose(fp);
fclose(gp);
return 0;
}