Предмет: Информатика,
автор: arutunyantatevi
Матрица размером 5:5 заполняется случайными числами, кроме главной диагонали.По главной диагонали пустить -1.Найти количество элементов,оканчивающихся на ноль,отрицательных элементов и нулей,сумму элементов побочной диагонали.
ПАСКАЛЬ
Аноним:
"количество элементов,оканчивающихся на ноль,отрицательных элементов и нулей" - по всей матрице или тоже только на побочной диагонали?
И наверно все же не "суммЫ", а суммУ элементов побочной диагонали.
да,сумму
по всей матрице
Сейчас напишу
Ответы
Автор ответа:
0
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!
begin
Writeln('*** Исходный массив ***');
var k:=4;
var a:=MatrRandom(k+1,k+1,-99,99);
for var i:=0 to k do a[i,i]:=-1;
a.Println(4); Writeln(4*k*'-');
var s:=a.ElementsByRow; // последовательность, памяти не занимает
Writeln('Количество элементов, оканчивающихся на ноль: ',
s.Where(t->t mod 10=0).Count);
Writeln('Количество отрицательных элементов: ',
s.Where(t->t<0).Count);
Writeln('Количество нулевых элементов: ',
s.Where(t->t=0).Count);
Write('Сумма элементов побочной лиагонали: ');
var sum:=0;
for var i:=0 to k do sum+=a[i,4-i];
Writeln(sum)
end.
Внимание! Если программа не работает, обновите версию!
begin
Writeln('*** Исходный массив ***');
var k:=4;
var a:=MatrRandom(k+1,k+1,-99,99);
for var i:=0 to k do a[i,i]:=-1;
a.Println(4); Writeln(4*k*'-');
var s:=a.ElementsByRow; // последовательность, памяти не занимает
Writeln('Количество элементов, оканчивающихся на ноль: ',
s.Where(t->t mod 10=0).Count);
Writeln('Количество отрицательных элементов: ',
s.Where(t->t<0).Count);
Writeln('Количество нулевых элементов: ',
s.Where(t->t=0).Count);
Write('Сумма элементов побочной лиагонали: ');
var sum:=0;
for var i:=0 to k do sum+=a[i,4-i];
Writeln(sum)
end.
Приложения:
а можно полегче, мы такое не проходили еще
Вы не написали версии Паскаля, на которой работаете, поэтому я выбрал ту, на которой писать быстро и легко. Откуда мне знать, что Вы проходили и что нет. Очевидно, что нет причины делать работу еще раз, коль уж Вы не позаботились указать в вопросе ограничения на методы решения.
И потом, то что Вы называете "полегче" на самом деле в разЫ длиннее и труднее.
ну по школьной программе
Школьная программа не определяет, какой использовать язык и какой его диалект. Это определятся уровнем знаний учителя информатики в конкретной школе. Нет единого подхода - отсюда и все беды. Посмотрите, даже в ЕГЭ из-за этого задания дают на ПЯТИ языках.
А "паскалей" у нас ШЕСТЬ разных диалектов. И все несовместимы друг с другом в той или иной степени.
В этой программе 17 строк. В той, какую (как я предполагаю) Вы хотите получить и называете "полегче", их будет примерно полсотни. И она будет и читаться хуже, и пониматься хуже, и искать ошибки в ней дольше. Ну кто виноват, что школьное обучение мало где идет в ногу с прогрессом?
Похожие вопросы
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: ayangadirli
Предмет: История,
автор: aynurramazanova52
Предмет: Алгебра,
автор: Klimenko1993