То же задание, только другой вывод? Ну, вот например, несколько вариантов (все выводят одно и то же- ну, если конечно на вход подавать число, указанное в задании, а не что попало :)
1) текстовый вариант (запрашиваемое число вводится сразу в текстовом виде):
алг
нач
лит т
вывод "Введите четырёхзначное число",нс
ввод т
вывод т[1],"+",т[2],"=",Цел(т[1],0)+Цел(т[2],0),", "
вывод т[3],"*",т[4],"=",Цел(т[3],0)*Цел(т[4],0)
кон
2) числовой вариант (простой):
алг
нач
цел а,б,в,г,д
вывод "Введите четырёхзначное число",нс
ввод а
д:=mod(а,10);а:=div(а,10)
г:=mod(а,10);а:=div(а,10)
в:=mod(а,10);а:=div(а,10)
б:=mod(а,10)
вывод б,"+",в,"=",б+в,", ",г,"*",д,"=",г*д
кон
3) числовой вариант (так себе):
алг
нач
цел а,ц
цел таб т[1:4]
вывод "Введите четырёхзначное число",нс
ввод а
нц для ц от 1 до 4
т[ц]:=mod(а,10)
а:=div(а,10)
кц
вывод т[4],"+",т[3],"=",т[4]+т[3],", ",т[2],"*",т[1],"=",т[2]*т[1]
кон
4) число-текстовый вариант (ерунда какая то, типа если не очень то, что в первом варианте число вводится как текст) -цикл перевода сделан для разнообразия, и так то заменяется одним алгоритмом, переводящим всё число сразу- цел_в_лит(а), при этом и начальное значение т задавать не надо.
алг
нач
цел а
лит т=""
вывод "Введите четырёхзначное число",нс
ввод а
нц 4 раз
т:=символ(48+mod(а,10))+т
а:=div(а,10)
кц
вывод т[1],"+",т[2],"=",Цел(т[1],0)+Цел(т[2],0),", "
вывод т[3],"*",т[4],"=",Цел(т[3],0)*Цел(т[4],0)
кон
5) числовой вариант (непойми что и сбоку бантик):
алг
нач
цел а,б,в,н,ц
цел таб т[1:4]
вывод "Введите четырёхзначное число",нс
ввод а
нц для н от 1 до 4
а:=mod(а,10**(5-н))
т[н]:=div(а,10**(4-н))
в:=т[н]
ц:=div(н,4)
если 2*ц=н-2 то
вывод б,символ(43-ц),в,"=",б+в-(б+в-б*в)*ц,символ(44-12*ц)," " все
б:=т[н]
кц
кон
Поделитесь своими знаниями, ответьте на вопрос:
Просуммировать элементы квадратной матрицы , расположенные в правой четверти, ограниченной главной и побочной диагоналями, включая элементы, расположенные на диагоналях. . если не трудно сделайте так: for i : = 1 to (n div 2 + n mod 2) do for j : = i to n - i + 1 do summ : = summ + a[i, j]; writeln('summ = ', summ); readln; end. но это сумма верхней четверти а вот как сделать правую часть я вообще не знаю(
vara: array [1..100,1..100]of integer; n,i,j, summ: integer; begin write ('n = '); readln(n); for i: =1 to n do begin for j: =1 to n do begin a[i,j]: = random (90) + 10; write ( a[i,j]: 4); end; writeln; end; summ : = 0; for j : = n downto (n div 2 - n mod 2) do for i : = n - j + 1 to j do summ : = summ + a[i,j]; writeln('summ = ', summ); readln; end.