30+15 БАЛЛОВ!!!!!!!!!!!! 1. Составьте функцию вычисления среднего значения элементов...

0 голосов
59 просмотров

30+15 БАЛЛОВ!!!!!!!!!!!!
1. Составьте функцию вычисления среднего значения элементов массива.
2. В матрице размером n×m удалите столбец, сумма элементов которого максимальна. Необходимо создать новую матрицу нужного размера и переписать в нее все столбцы, кроме удаленного.
Все решение на Паскале



Информатика (837 баллов) | 59 просмотров
0

ну ладно, все убрал

0

((((

0

Я не вкладывал в свое "ну ладно" значение, которое вы написали выше. Просто показалось, что до моего задания еще не дошли и поэтому можно добавить задачу, про которую забыл.

0

Тем не менее, комментарии-такое место, где нет возможности использовать эмоции, жестикуляциюи т.д. А общепринятого значения "ну ладно" не существует и почему-то вы не принимаете во внимание то,что мы действительно можем друг друга не так понять

Дан 1 ответ
0 голосов
Правильный ответ

Const
   N = 3;
   M = 4;
Type
   Mass = array[1..N,1..M] of integer;
///Функция вычисления среднего арифметического элементов массива
Function Sr(A:Mass):real;
Var
   i,j:integer;
Begin
result:=0;
For i:= 1 to N do
    For j:= 1 to M do
        result:=result+A[i,j];
result:=result/(M*N);
End;

Var
   A:Mass;
   B:array[1..N,1..M-1] of integer;
   i,j,jMax,k:integer;
   S,MaxS:real;
Begin
Randomize;
WriteLn('Исходная матрица:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:3,' ')
        End;
    WriteLn
    End;
WriteLn('Среднее арифметическое её элементов: ',Sr(A));
WriteLn;
MaxS:=0;
jMax:=1;
For i:= 1 to N do
    MaxS:=MaxS+A[i,1];
For j:= 2 to M do
    Begin
    S:=0;
    For i:= 1 to N do
        S:=S+A[i,j];    
    if S > MaxS then
       Begin
       jMax:=j;
       MaxS:=S;
       End;
    End;
k:=0;
For j:= 1 to M do
    if jMax <> j then
       Begin
       k:=k+1;
       For i:= 1 to N do
           B[i,k]:=A[i,j];
       End;
WriteLn('Новая матрица:');
For i:= 1 to N do
    Begin
    For j:= 1 to M-1 do
        Write(B[i,j]:3,' ');
    WriteLn
    End;
End.


Пример работы программы:

Исходная матрица:
 10   6  10   2
  3   5  -3   8
  8   2   0  -9
Среднее арифметическое её элементов: 3.5

Новая матрица:
  6  10   2
  5  -3   8
  2   0  -9

(34.0k баллов)
0

))

0

Функция где-то в первых строках лежит, а всё остальное - второе

0

ну написано же сплошняком

0

Начните читать с первых строчек, пожалуйста

0

Можно задать вопрос?) я прочитала задание с первых строк, но тем не менее, не могу понять, где конец первого и начало второго. Можете объяснить?

0

"1. Составьте функцию вычисления среднего значения элементов массива."

0

///Функция вычисления среднего арифметического элементов массива
Function Sr(A:Mass):real;
Var
i,j:integer;
Begin
result:=0;
For i:= 1 to N do
For j:= 1 to M do
result:=result+A[i,j];
result:=result/(M*N);
End;

0

в конце end должна быть точка?

0

а не тока с запятой

0

спасибо еще раз)