Предмет: Информатика, автор: superwolf0397

Дан файл F (создать его), компонентами которого являются целые числа, не равные 0. Числа в файле записаны в следующем порядке: ++ -- ++ -- …, то есть два положительных числа, два отрицательных числа и т.д. Число компонентов файла F делится на 12. Переписать компоненты файла F в файл H так, чтобы в файле H числа шли в следующем порядке:+++ --- +++ ..., то есть три положительных числа, три отрицательных числа и т.д. Допустимо использование вспомогательного файла.


orakul96: Язык программирования и в каком порядке вывести элементы (возростание/убывание)?
superwolf0397: Вечно забываю указать язык программирования.. python

Ответы

Автор ответа: WhalesNik
0

C++

#include <bits/stdc++.h>

using namespace std;

int main()

{

   queue<int>plusN;

   queue<int>minN;

   int temp;

   ofstream out;

   ifstream in;

   in.open("F.txt");

   if(!in.is_open())

   {

       in.close();

       out.open("F.txt");

       out << 1 << ' ' << 2 << ' ' << -3 << ' ' << -4 << ' ' << 5 << ' ' << 6 << ' ';

       out << -7 << ' ' << -8 << ' ' << 9 << ' ' << 10 << ' ' << -11 << ' ' << -12;

       out.close();

       in.open("F.txt");

   }

   while(!in.eof()){in >> temp; if(temp > 0) plusN.push(temp); else minN.push(temp); }

   in.close();

   out.open("F.txt");

   bool status = 0;

   while(minN.size() != 0 || plusN.size() != 0)

   {

       if(!(status)) for(int j = 0; j < 3; j++) { out << plusN.front() << ' '; plusN.pop(); }

       else for(int j = 0; j < 3; j++) { out << minN.front() << ' '; minN.pop(); }

       status = !status;

   }

   out.close();

   return 0;

}


superwolf0397: Дружище, а на питоне возможно?(
Похожие вопросы
Предмет: Математика, автор: Аноним