В двумерном массиве отсортировать строки по среднему значению по возрастанию методом выбора - VB

Узнай цену своей работы

Формулировка задачи:

.В двумерном массиве отсортировать строки по среднему значению по возрастанию методом выбора. код паскаля имеется
Листинг программы
  1. program g6;
  2. uses crt;
  3. var
  4. a: array[1..5,1..5] of integer;
  5. srzn: array[1..5] of real;
  6. v : real;
  7. sum: integer;
  8. min: integer;
  9. n,m, i,j: integer;
  10. procedure new;
  11. var
  12. i,j: integer;
  13. begin
  14. Randomize;
  15. for i:= 1 to n do
  16. for j:= 1 to m do
  17. a[i,j] := random(10);
  18. end;
  19. procedure write_mas;
  20. var
  21. i,j: integer;
  22. begin
  23. writeln('Matrica:');
  24. for i:= 1 to n do
  25. begin
  26. for j:= 1 to m do
  27. write(a[i,j],' ');
  28. writeln;
  29. end;
  30. end;
  31. procedure move_mas(i1,i2: integer);
  32. var
  33. j,v: integer;
  34. begin
  35. for j:= 1 to n do
  36. begin
  37. v := a[i1,j];
  38. a[i1,j] := a[i2,j];
  39. a[i2,j] := v;
  40. end;
  41. end;
  42. begin
  43. clrscr;
  44. n := 5;
  45. m := 5;
  46. new;
  47. write_mas;
  48. for i:= 1 to n do
  49. begin
  50. sum := 0;
  51. for j:= 1 to m do
  52. sum := sum + a[i,j];
  53. srzn[i] := sum / m;
  54. end;
  55. for i:= 1 to n do
  56. begin
  57. min := i;
  58. for j:= i+1 to m do
  59. if (srzn[j] < srzn[min]) then
  60. min := j;
  61. v := srzn[i];
  62. srzn[i] := srzn[min];
  63. srzn[min] := v;
  64. move_mas(min, i);
  65. end;
  66. write_mas;
  67. readln;
  68. end.

Решение задачи: «В двумерном массиве отсортировать строки по среднему значению по возрастанию методом выбора»

textual
Листинг программы
  1. Option Explicit
  2. Dim a(1 To 5, 1 To 5) As Integer, srzn(1 To 5) As Double
  3. Dim v As Double, sum As Integer, min As Integer
  4. Dim n As Integer, m As Integer, i As Integer, j As Integer
  5. Private Sub neww()
  6.  Randomize
  7.  For i = 1 To n
  8.     For j = 1 To m
  9.           a(i, j) = Rnd * 10
  10.     Next j
  11.  Next i
  12. End Sub
  13.  
  14. Private Sub write_mas(NameMatrix As String)
  15.  Print NameMatrix
  16.  For i = 1 To n
  17.     For j = 1 To m
  18.       Print vbTab; a(i, j);
  19.     Next j
  20.     Print
  21.  Next i
  22. End Sub
  23.  
  24. Private Sub move_mas(i1 As Integer, i2 As Integer)
  25.     For j = 1 To n
  26.         v = a(i1, j)
  27.         a(i1, j) = a(i2, j)
  28.         a(i2, j) = v
  29.     Next j
  30. End Sub
  31.  
  32. Private Sub Command1_Click()
  33.     Cls
  34.     n = 5: m = 5
  35.     neww
  36.     write_mas "Исходная матрица:"
  37.     Print "Среднее значение по строкам:"
  38.     For i = 1 To n
  39.         sum = 0
  40.         For j = 1 To m
  41.               sum = sum + a(i, j)
  42.         Next j
  43.         srzn(i) = sum / m
  44.         Print vbTab; srzn(i);
  45.         Print
  46.     Next i
  47.  
  48.     For i = 1 To n
  49.            min = i
  50.            For j = i + 1 To m
  51.                  If srzn(j) < srzn(min) Then
  52.                      min = j
  53.                  End If
  54.            Next j
  55.            v = srzn(i)
  56.            srzn(i) = srzn(min)
  57.            srzn(min) = v
  58.            move_mas min, i
  59.     Next i
  60.     write_mas "Результат:"
  61. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы