Сразу скажу программа не работает, но я думаю она так должна выглядеть. Задание: алгоритм Деккера. Есть два процесса(это две отдельные программы) каждый из них обращается к критической области. Один из этих процессов важнее 2го. Пока один процесс занял область второй не может в нее войти и ждет или отказывается от входа. Нужно как то сделать чтоб данные из программ записывались в один файл и считывались оттуда. 20:10:39 #include <iostream> #include <fstream> #include <conio.h> #include <ctype.h> #include <stdio.h> using namespace std; int main() { int ResourceProc1; int ResourceProc2; int izp=1; int voz=1; FILE * f1; f1 = fopen("C:\\Users\\z\\Desktop\\aaa\\bin\\Debug\\f1.txt","a"); if(f1==NULL ) { cout<<" ошибка!"; } while (voz==1) { ResourceProc1=1; fscanf(f1," %d ",ResourceProc2); cout<<"ResourceProc2="<<ResourceProc2<<"\t "; char str[20] = "Znachenie pocessa 1"; fprintf( f1, "%s %d", str, ResourceProc1 ); if (ResourceProc2 == 0) { cout<<"process 1 vxodit v kriticheskyu oblast"<<endl; getch(); cout<<"process 1 vixodit iz kriticheskou oblasti"<<endl; getch(); ResourceProc1=0; fprintf( f1, "%s %d", str, ResourceProc1 ); cout<<"process 1 eshe bydet vxodit v kriticheskyu oblast? (1-da, 0-net)"<<endl; cin>>voz; } else { if (izp == 1) { cout<<"process 1 vxodit v kriticheskyu oblast"<<endl; getch(); cout<<"process 1 vixodit iz kriticheskou oblasti"<<endl; getch(); ResourceProc1 = 0; fprintf( f1, "%s %d", str, ResourceProc1 ); cout<<"process 1 eshe bydet vxodit v kriticheskyu oblast? (1-da, 0-net)"<<endl; cin>>voz; } else { cout<<"process 2 zanyal kriticheskyu oblast"<<endl; getch(); cout<<"process 1 otkazivaetsya ot vxoda v kriticheskyu oblast? (0-da, 1-net)"<<endl; cin>>voz; } } } fclose(f1); return 0; } Аналогичный текст для 2го процесса (с небольшими изменениями)