В двумерном массиве отсортировать строки по среднему значению по возрастанию методом выбора - VB
Формулировка задачи:
.В двумерном массиве отсортировать строки по среднему значению по возрастанию
методом выбора.
код паскаля имеется
Листинг программы
- program g6;
- uses crt;
- var
- a: array[1..5,1..5] of integer;
- srzn: array[1..5] of real;
- v : real;
- sum: integer;
- min: integer;
- n,m, i,j: integer;
- procedure new;
- var
- i,j: integer;
- begin
- Randomize;
- for i:= 1 to n do
- for j:= 1 to m do
- a[i,j] := random(10);
- end;
- procedure write_mas;
- var
- i,j: integer;
- begin
- writeln('Matrica:');
- for i:= 1 to n do
- begin
- for j:= 1 to m do
- write(a[i,j],' ');
- writeln;
- end;
- end;
- procedure move_mas(i1,i2: integer);
- var
- j,v: integer;
- begin
- for j:= 1 to n do
- begin
- v := a[i1,j];
- a[i1,j] := a[i2,j];
- a[i2,j] := v;
- end;
- end;
- begin
- clrscr;
- n := 5;
- m := 5;
- new;
- write_mas;
- for i:= 1 to n do
- begin
- sum := 0;
- for j:= 1 to m do
- sum := sum + a[i,j];
- srzn[i] := sum / m;
- end;
- for i:= 1 to n do
- begin
- min := i;
- for j:= i+1 to m do
- if (srzn[j] < srzn[min]) then
- min := j;
- v := srzn[i];
- srzn[i] := srzn[min];
- srzn[min] := v;
- move_mas(min, i);
- end;
- write_mas;
- readln;
- end.
Решение задачи: «В двумерном массиве отсортировать строки по среднему значению по возрастанию методом выбора»
textual
Листинг программы
- Option Explicit
- Dim a(1 To 5, 1 To 5) As Integer, srzn(1 To 5) As Double
- Dim v As Double, sum As Integer, min As Integer
- Dim n As Integer, m As Integer, i As Integer, j As Integer
- Private Sub neww()
- Randomize
- For i = 1 To n
- For j = 1 To m
- a(i, j) = Rnd * 10
- Next j
- Next i
- End Sub
- Private Sub write_mas(NameMatrix As String)
- Print NameMatrix
- For i = 1 To n
- For j = 1 To m
- Print vbTab; a(i, j);
- Next j
- Next i
- End Sub
- Private Sub move_mas(i1 As Integer, i2 As Integer)
- For j = 1 To n
- v = a(i1, j)
- a(i1, j) = a(i2, j)
- a(i2, j) = v
- Next j
- End Sub
- Private Sub Command1_Click()
- Cls
- n = 5: m = 5
- neww
- write_mas "Исходная матрица:"
- Print "Среднее значение по строкам:"
- For i = 1 To n
- sum = 0
- For j = 1 To m
- sum = sum + a(i, j)
- Next j
- srzn(i) = sum / m
- Print vbTab; srzn(i);
- Next i
- For i = 1 To n
- min = i
- For j = i + 1 To m
- If srzn(j) < srzn(min) Then
- min = j
- End If
- Next j
- v = srzn(i)
- srzn(i) = srzn(min)
- srzn(min) = v
- move_mas min, i
- Next i
- write_mas "Результат:"
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д