Дан линейный массив a[1..n], содержащий целые числа. преобразовать элементы массива по следующему правилу: если элемент четный, прибавить к нему 1, если нечетный – умножить на два.
matrix = new int*[mSize]; for (int i = 0; i < mSize; i++) matrix[i] = new int[nSize]; for (int i = 0; i < mSize; i++) for (int j = 0; j < nSize; j++) cin >> matrix[i][j];
cout << "Num. of the elements = " << NumOfElements(matrix, mSize, nSize) << endl;
system("pause"); return 0; } /* End of the 'main' function */
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016 // Внимание! Если программа не работает, обновите версию!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-50,50); a.Println(4); Writeln(4*a.ColCount*'-'); var b:=a.Rows.Select(x->x.Where(y->(y<0) and y.IsOdd).Count); b.Println; end.
begin
var a := ArrRandom(ReadInteger('n='), -50, 50);
a.Println;
a.Transform(t -> t.IsEven ? t + 1 : t * 2);
a.Println
end.