Обмен между пятью файлами по кольцевой схеме - C (СИ)
Формулировка задачи:
Заданы файлы f1, f2, f3, f4, f5, компонентами которых являются действительные числа. Организовать обмен компонентов между файлами в соответствии со схемой:
f1->f2,
f2->f3,
f3->f4,
f4->f5,
f5->f1.
Разрешается использовать один промежуточный файл h.
_________________________
Запись в файлы идет, но никак не могу сделать обмен, помогите исправить код.
#include <stdio.h> main() { float ch1[10], ch2[10], ch3[10], ch4[10], ch5[10]; int n, i; printf("Vvedite n:\n"); scanf("%i", &n); FILE *f1; f1=fopen("c:\\prog13\\f1.txt", "w"); printf("Vvedite chisla\n"); for(i=0;i<n;i++) { scanf("%f", &ch1[i]); } for(i=0;i<n;i++) fprintf(f1, "%8.3f", ch1[i]); fclose(f1); FILE *f2; f2=fopen("c:\\prog13\\f2.txt", "w"); printf("\nVvedite chisla\n"); for(i=0;i<n;i++) { scanf("%f", &ch2[i]); } for(i=0;i<n;i++) fprintf(f2, "%8.3f", ch2[i]); fclose(f2); FILE *f3; f3=fopen("c:\\prog13\\f3.txt", "w"); printf("\nVvedite chisla\n"); for(i=0;i<n;i++) { scanf("%f", &ch3[i]); } for(i=0;i<n;i++) fprintf(f3, "%8.3f", ch3[i]); fclose(f3); FILE *f4; f4=fopen("c:\\prog13\\f4.txt", "w"); printf("\nVvedite chisla\n"); for(i=0;i<n;i++) { scanf("%f", &ch4[i]); } for(i=0;i<n;i++) fprintf(f4, "%8.3f", ch4[i]); fclose(f4); FILE *f5; f5=fopen("c:\\prog13\\f5.txt", "w"); printf("\nVvedite chisla\n"); for(i=0;i<n;i++) { scanf("%f", &ch5[i]); } for(i=0;i<n;i++) fprintf(f5, "%8.3f", ch5[i]); fclose(f5); FILE *h; h=fopen("c:\\prog13\\h.txt", "w"); f1=fopen("c:\\prog13\\h.txt", "r"); for(i=0;i<n;i++) { while (fread(&ch1[i], sizeof(float), 1, f1)!=0) { fwrite(&ch1[i], sizeof(float), 1, h); } } fclose(f1); fclose(h); }
Актуально, объясните хотя бы сам принцип обмена данными в файлах в Си)
Решение задачи: «Обмен между пятью файлами по кольцевой схеме»
textual
Листинг программы
#define file1 "f1.txt" #define file2 "f2.txt" #define file3 "f3.txt" #define file4 "f4.txt" #define N 4
Объяснение кода листинга программы
- #define - это директива препроцессора, которая используется для определения констант.
- file1, file2, file3, file4 - это константы, которые представляют имена файлов.
- N - это константа, которая представляет количество файлов в кольцевой схеме.
- В коде отсутствует основной блок, поэтому нельзя указать, что происходит в блоке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д