1. Современное решение, когда можно решить "в одну строку"
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('S=',ReadSeqInteger(3).Select(n->n.ToString .Where(d->Pos(d,'13579')>0)).SelectMany(c->c) .Select(c->c.ToDigit).Sum) end.
Пример 252 337 105 S=24
2. А примерно вот так учат писать в школе - долго и длинно (да и не особо понятно)
var m,i,j,s,d:integer; begin s:=0; for i:=1 to 3 do begin Read(m); for j:=1 to 3 do begin d:=m mod 10; if d mod 2<>0 then s:=s+d; m:=m div 10 end end; Writeln('S=',s) end.
1. Современное решение, когда можно решить "в одну строку"
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('S=',ReadSeqInteger(3).Select(n->n.ToString .Where(d->Pos(d,'13579')>0)).SelectMany(c->c) .Select(c->c.ToDigit).Sum) end.
Пример 252 337 105 S=24
2. А примерно вот так учат писать в школе - долго и длинно (да и не особо понятно)
var m,i,j,s,d:integer; begin s:=0; for i:=1 to 3 do begin Read(m); for j:=1 to 3 do begin d:=m mod 10; if d mod 2<>0 then s:=s+d; m:=m div 10 end end; Writeln('S=',s) end.
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
int N;
std::cout << "Введите количество строк и столбцов(N): ";
std::cin >> N;
//выделяем память
int** arr = new int* [N];
for(int i = 0; i < N; i++)
arr[i] = new int [N];
srand(time(NULL));//рандомизация
std::cout << "Матрица имеет вид: " << std::endl;
//заполняем массив случайными числами
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
{
arr[i][j] = 1 + rand() % 100; // от 1 до 100
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
//ищем максимальное число
int max = arr[0][0];
for(int i = 0, j = 0; i < N, j < N; i++, j++)
{
if(arr[i][j] > max)
max = arr[i][j];
}
std::cout << std::endl << "Наибольшее число на главной диагонали: " << max;
//удаляем память
for(int i = 0; i < N; i++)
delete[] arr[i];
delete[] arr;
return 0;
}