var matr := MatrRandom(7, 7, 0, 100); matr.Println; // // объявление матрицы со случайными значениями в диапазоне(0, 100) и её печать
Swap(matr[0, matr.Row(0).IndexMin], matr[2, matr.Row(2).IndexMin]); // меняем местами мин. элементы первой и третьей строк.
var m := matr.ElementsWithIndexes.Where(t -> t[1] = t[2]).MaxBy(t -> t[0]); // получение максимального элемента с его позицией в матрице главной диагонали.
var s := matr.ElementsWithIndexes.Where(t -> (t[1], t[2]) in Range(0, 6).Select((t, i)-> (t, abs(i - 6)))).MaxBy(t -> t[0]); // и побочной
Println; // отступ
Swap(matr[m[1], m[2]], matr[s[1], s[2]]); // меняем местами макс. элементы диагоналей
Пользователь вводит трехзначное число. Программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.
Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, то получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.
В языках программирования почти всегда есть две такие операции:
1) нахождение целого при делении нацело,
2) нахождение остатка при делении нацело.
В языке программирования Python v.3 первая операция обозначается // (двумя знаками деления), а вторая - % (знаком процента). Например:
Изящно и непонятно.
// PascalABC.NET 3.4, сборка 1767 от 27.08.2018
begin
var matr := MatrRandom(7, 7, 0, 100); matr.Println; // // объявление матрицы со случайными значениями в диапазоне(0, 100) и её печать
Swap(matr[0, matr.Row(0).IndexMin], matr[2, matr.Row(2).IndexMin]); // меняем местами мин. элементы первой и третьей строк.
var m := matr.ElementsWithIndexes.Where(t -> t[1] = t[2]).MaxBy(t -> t[0]); // получение максимального элемента с его позицией в матрице главной диагонали.
var s := matr.ElementsWithIndexes.Where(t -> (t[1], t[2]) in Range(0, 6).Select((t, i)-> (t, abs(i - 6)))).MaxBy(t -> t[0]); // и побочной
Println; // отступ
Swap(matr[m[1], m[2]], matr[s[1], s[2]]); // меняем местами макс. элементы диагоналей
matr.Println; // печать результата
end.
Пример вывода в приложении:
Объяснение:
Пользователь вводит трехзначное число. Программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.
Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, то получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.
В языках программирования почти всегда есть две такие операции:
1) нахождение целого при делении нацело,
2) нахождение остатка при делении нацело.
В языке программирования Python v.3 первая операция обозначается // (двумя знаками деления), а вторая - % (знаком процента). Например:
>>> 34 // 10
3
>>> 34 % 10
4