Найти непрерывный участок из 10 элементов, сумма которых максимальна - Pascal

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

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

Здравствуйте, вроде написал код, но ничего не могу понять, выходит лажа. Прога состоит из 3 этапов: 1. вводим 2 массива 2. складываем 3. Надо найти непрерывный участок из 10 элементов, сумма которых максимальна Первые 2 пункта сделал без проблем, а вот с 3 никак не могу разобраться, помогите пожалуйста, ниже собственно сам код программы:
Листинг программы
  1. program a1;
  2. uses crt;
  3. var
  4. a,b,sum,mas: array [1..20,1..20] of integer;
  5. m,n,i,j,s1,s2,s,i1,j1,j2: integer;
  6. begin
  7. clrscr;
  8. write('Vvedite kolichestvo strok matric: ');
  9. readln(n);
  10. If (n>0) and (n<20) then
  11. begin
  12. write('Vvedite kolichestvo stolbcov matric: ');
  13. readln(m);
  14. If (m>0) and (m<20) then
  15. begin
  16. begin
  17. randomize;
  18. writeln;
  19. writeln ('matrica a:');
  20. for i:=1 to n do
  21. begin
  22. writeln;
  23. for j:=1 to m do
  24. begin
  25. a[i,j]:=random(10);
  26. write(a[i,j],' ');
  27. end;
  28. end;
  29. writeln;
  30. writeln;
  31. writeln('matrica b:');
  32. for i:=1 to n do
  33. begin
  34. writeln;
  35. for j:=1 to m do
  36. begin
  37. b[i,j]:=random(10);
  38. write(b[i,j],' ');
  39. end;
  40. end;
  41. end;
  42. begin
  43. writeln;
  44. writeln;
  45. writeln('Summa: ');
  46. for i:=1 to n do
  47. begin
  48. writeln;
  49. for j:=1 to m do
  50. begin
  51. sum[i,j]:=a[i,j]+b[i,j];
  52. write(sum[i,j],' ');
  53. end;
  54. end;
  55. end;
  56. end
  57. else
  58. Writeln ('Vvedite znachenie ot 1 do 20');
  59. end
  60. else
  61. Writeln (' Vvedite znachenie ot 1 do 20');
  62. Writeln;
  63. Writeln;
  64. Writeln ('Neprerivniy uchastok is 10 elementov:');
  65. Writeln;
  66. s1:=-1;
  67. for i:=1 to n do begin
  68. s:=0;
  69. s2:=-1;
  70. for j:=1 to m do begin
  71. Inc(s,mas[i,j]);
  72. if j>=10 then begin
  73. if s>s1 then begin s1:=s; i1:=i; j1:=j-9; end;
  74. if s>s2 then begin s2:=s; j2:=j-9; end;
  75. Dec(s,mas[i,j-9]);
  76. end
  77. end;
  78. Writeln ('Uchastok s ',j2,' do ',j2+9,' - imeet maximalnuyu summe elementov= ',s2);
  79. end;
  80. Writeln;
  81. Writeln ('Uchastok s ',i1,j1, ' do ',j1+9,' - imeet maximalnuyu summu elementov po vsey matrice= ',s1);
  82. readkey;
  83. end.

Решение задачи: «Найти непрерывный участок из 10 элементов, сумма которых максимальна»

textual
Листинг программы
  1. Writeln ('Uchastok s ',j2,' do ',j2+9,' - imeet maximalnuyu summe elementov= ',s2);

Объяснение кода листинга программы

  1. Writeln: это процедура вывода текста в консоль.
  2. 'Uchastok s ',j2,' do ',j2+9,' - imeet maximalnuyu summe elementov= ': строка, которая будет выведена в консоль. В этой строке используются различные переменные и операции.
  3. j2: это переменная, предположительно обозначающая начальный индекс участка из 10 элементов.
  4. j2+9: это операция сложения с переменной j2, предположительно для получения конечного индекса участка из 10 элементов.
  5. s2: это переменная, предположительно обозначающая сумму элементов на участке.

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


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

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

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

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

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

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