М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
eDin7
eDin7
26.02.2022 01:02 •  Информатика

Подсчитать сумму элементов столбца j массива a[i,j], запол. случайными числами

👇
Ответ:
xomidov
xomidov
26.02.2022
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var k:=ReadInteger('Номер столбца для подсчета суммы:');
  Writeln('S=',a.Col(k-1).Sum)
end.

Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Исходный массив [5,8] ***
  91 -39  49  29 -60 -58 -88  -5
 -80  -5  58  38 -75 -76 -54 -33
 -60 -66  98 -88  96 -48  94   2
  -4  81 -38 -91  26 -91  32   7
  30  83  30   3  22  93  31   0

Номер столбца для подсчета суммы: 4
S=-109

На случай, если я неверно понял задание и нужна сумма по КАЖДОЙ колонке:

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  a.Cols.Select(s->s.Sum).Println
end.

Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 7
*** Исходный массив [4,7] ***
  13 -14  82  88 -38  55  89
  11  74 -35  85  13  27 -80
 -88  76 -64 -88 -50  28 -13
  90  87 -71 -94 -59  95 -83

26 223 -88 -9 -134 205 -87
4,4(88 оценок)
Ответ:
vikaolkhovskay
vikaolkhovskay
26.02.2022
C#

int sum = 0;
for(int j = 0; j < n; j++)
{
   sum = sum + a[0,j];
}

Где n граница массива. Но это только для первой строчки!

Полная версия на паскале: 
uses  GraphABC;
var
  sum: integer;
  a: array [1..10, 1..10] of integer;
begin
  for var i := 1 to 10 do
  begin
    for var j := 1 to 10 do
    begin
      a[i, j] := Random(10, 67);
    end;
  end;
  for var j := 1 to 10 do
  begin
    sum := sum + a[1, j];
  end;
  print(sum);
end.

Работо проверена
4,4(3 оценок)
Открыть все ответы
Ответ:
anay3
anay3
26.02.2022

1) Не достаточно информации

2)

Program help1;
Uses Crt;
Var a : Array[1..3, 1..3] of Integer;
i, j, m : Integer;

Begin
ClrScr;

For i := 1 to 3 do
For j := 1 to 3 do
Begin
Write('Введи a[', i, ', ', j, ']: ');
Readln(a[i, j]);
End;

If a[1, 1] > 0 then
m := 4;
If a[1, 1] < 0 then
m := 7;

For i := 1 to 3 do
For j := 1 to 3 do
a[i, j] := a[i, j] * m;
End.

3)

Program help2;
Uses Crt;
Var s : String;
n, i : Byte;

Begin
ClrScr;

Write('Введи строку: ');
Readln(s);

n := 0;

For i := 1 to Length(s) do
if s[i] = '5' then
inc(n);

Write('Цифра 5 встречается ', n, ' раз');
End.

4,4(76 оценок)
Ответ:
Дедушка91
Дедушка91
26.02.2022

1. Подумать над алгоритмом
2. Вот сам алгоритм:
а. спросить у пользователя значения
б. расчитать ответ
в. выдать ответ на экран
3. Написать код в паскале
4. Исправить ошибки компиляции
5. Протестировать, вводить разные числа
6. обнаружила, что если вводить числа наугад ответ получается отрицательным иногда
7. Вставить код проверки введенных пользователем значений
8. убрать ошибки компиляции
9. протестировать
10. готово

 

А вот и сама программа:

 

program aerobus;
uses crt;
const TotalPlace = 160;
var businessPlaces, economyPlaces:integer;
businessPrice, economyPrice:real;
totalCharge:real;
a,b:integer;
correctInput:boolean;
begin
clrscr;
businessPlaces:=TotalPlace div 4;
economyPlaces:= TotalPlace - businessPlaces;
writeln('business places count: ', businessPlaces);
writeln('economy places count: ', economyPlaces);
correctInput:=false;
while not correctInput do
begin
write('Please Input Business Class Ticket Price: ');
readln(businessPrice);
if(businessPrice>0) then
begin
correctInput:=true;
end
else
begin
writeln('The price should be a positive number, please try again');
end;
end;
economyPrice:=businessPrice/2;
writeln('Economy Ticket Price is: ', economyPrice:0:2);
correctInput:=false;
while not correctInput do
begin
write('How many business tickets are left?: ');
readln(a);
if(a>=0) and (a<=businessPlaces)then correctInput:=true;
if(a<0) then
begin
writeln('Please input a positive number or 0, please try again');
end;
if(a>businessPlaces) then
begin
writeln('Please input a number which is less or equal to the tolal business place count, please try again');
end;
end;

correctInput:=false;
while not correctInput do
begin
write('How many economy tickets are left?: ');
readln(b);
if(b>=0) and (b<=economyPlaces)then correctInput:=true;
if(b<0) then
begin
writeln('Please input a positive number or 0, please try again');
end;
if(b>economyPlaces) then
begin
writeln('Please input a number which is less or equal to the tolal economy place count, please try again');
end;

end;
totalCharge:=(businessPlaces-a)*businessPrice;
totalCharge:=totalCharge+(economyPlaces-b)*economyPrice;
writeln('The total charge is:', totalCharge:0:2);
writeln;
writeln('Press enter to exit');
readln;
end.

 

4,6(63 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ