// PascalABC.NET 3.2, сборка 1374 от 10.01.2017 // Внимание! Если программа не работает, обновите версию!
procedure PrintArr(f:Text; a:array of integer); begin foreach var x in a do Write(f,x,' '); Writeln(f) end;
begin var fin:=OpenRead('input.txt'); var n:=ReadlnInteger(fin); var a:=new integer[n]; for var i:=0 to n-1 do Read(fin,a[i]); var fout:=OpenWrite('output.txt'); fin.Close; PrintArr(fout,a); var b:=a.Where(x->x.IsEven).ToArray; PrintArr(fout,b); var c:=a.Where(x->x.IsOdd).ToArray; PrintArr(fout,c); fout.Close end.
Объяснение:
#include <iostream>
#include <ctime>
#include <vector>
using namespace std;
int main()
{
srand(time(NULL));
int rows, cols;
cin >> rows >> cols;
cout << endl;
int** arr = new int*[rows];
vector <int> result;
for (int i = 0; i < rows; i++)
{
arr[i] = new int [cols];
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = rand() % 100;
cout.width(3);
cout << arr[i][j];
}
cout << endl;
}
for (int i = 0; i < cols; i++)
{
for (int j = 0; j < rows; j++)
{
result.push_back(arr[j][i]);
}
}
cout << endl;
for (const auto& element : result)
{
cout << element << " ";
}
for (int i = 0; i < rows; i++)
{
delete[] arr[i];
}
delete[] arr;
}