Работа с файлами
.docx-
Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т.д. Переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке: а) пять положительных, пять отрицательных, пять положительных, пять отрицательных и т.д.; б) двадцать положительных, двадцать отрицательных, двадцать положительных, двадцать отрицательных и т.д. (предполагается, что число компонент в файле f делится на 40).
// Лабораторная работа №2.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
void main(int argc, _TCHAR* argv[])
{ setlocale (LC_ALL,"Rus");
FILE *f, *g;
int A[40],i;
int a;
f=fopen("file1.txt","r");
for (i=0;i<40;i++){
fscanf(f,"%d",&A[i]);
}
fclose(f);
printf("Дан файл f, компоненты которого являются целыми числами. Никакая из компонент\nфайла не равна нулю. Числа в файле идут в следующем порядке: десять \nположительных, десять отрицательных, десять положительных, десять отрицательных\nи т.д. Переписать компоненты файла f в файл g так, чтобы в\nфайле g числа шли в следующем порядке: \n\n");
printf ("Выберите вариант сортировки: 1 - 5х5; любое другое число - 10х10;\n");
scanf("%d",&a);
g=fopen("file2.txt","w");
if (a==1){ for (i=0;i<5;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=10;i<15;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=5;i<10;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=15;i<20;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=20;i<25;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=30;i<35;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=25;i<30;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=35;i<40;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
}
else { for (i=0;i<10;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
for (i=20;i<30;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n");printf ("\n");
for (i=10;i<20;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
for (i=30;i<40;i++){
fprintf (g,"%d ",A[i]); printf ("%d ",A[i]);}
fprintf (g,"\n"); printf ("\n");
}
fclose(g);
printf ("\n\n");
system ("pause");
}