Вычислить сумму положительных элементов массива - Pascal ABC (12774)

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

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

Задан одномерный массив С(N) (N<=60). Вычислить сумму положительных элементов, этой суммой заменить элементы, расположенные после максимального элемента. Массив С напечатать. Если преобразование невозможно, то выдать об этом сообщение.
Листинг программы
  1. var
  2. C: array[1..60] of integer;
  3. N, i, imax: byte;
  4. S, max: integer;
  5. begin
  6. writeLn('Ââåäèòå ÷èñëî ýëåìåГ*òîâ Гў Г¬Г*Г±Г±ГЁГўГҐ C');
  7. readLn(N);
  8. writeLn('Ââîäèì ýëåìåГ*ГІГ» Г¬Г*Г±Г±ГЁГўГ* C:');
  9. for i := 1 to N do
  10. begin
  11. write('C[', i, ']=');
  12. readLn(C[i]);
  13. end;
  14. writeLn('ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў C:');
  15. for i := 1 to N do
  16. write(C[i]:5);
  17. writeLn;
  18. max := C[1];
  19. imax := 1;
  20. for i := 1 to N do
  21. begin
  22. if C[i] > max then
  23. begin
  24. max := C[i];
  25. imax := i;
  26. end;
  27. end;
  28. S := 0;
  29. for i := 1 to N do
  30. begin
  31. if C[i] > 0 then
  32. begin
  33. S:= S + C[i];
  34. end;
  35. end;
  36.  
  37. for i := imax to N do
  38. begin
  39. C[i] := S;
  40. end;
  41. writeLn;
  42. writeLn('Âûâîä Г*îâîãî Г¬Г*Г±Г±ГЁГўГ* C:');
  43. for i := 1 to N do
  44. write(C[i]:5);
  45. end.

Решение задачи: «Вычислить сумму положительных элементов массива»

textual
Листинг программы
  1. uses crt;
  2. var C: array[1..60] of integer;
  3.     N, i, imax: byte;
  4.     S,K: integer;
  5. begin
  6. repeat
  7. write('Введите число элементов в массиве C до 60 N=');
  8. readLn(N);
  9. until n in [1..60];
  10. writeLn('Вводим элементы массива C:');
  11. for i := 1 to N do
  12.  begin
  13.   write('C[', i, ']=');
  14.   readLn(C[i]);
  15.  end;
  16. clrscr;
  17. writeLn('Исходный массив C:');
  18. S:=0;
  19. K:=0;
  20. for i := 1 to N do
  21.  begin
  22.   write(C[i]:4);
  23.   if C[i]>0 then S:=S+C[i];
  24.   if C[i]=C[1] then inc(K);
  25.   if i=1 then imax:=1
  26.   else if C[i]>C[imax] then imax:=i
  27.  end;
  28. writeLn;
  29. writeln('Сумма положительных=',S);
  30. if K=N then
  31.  begin
  32.   writeln('Все элементы одинаковые, преобразование невозможно');
  33.   exit
  34.  end;
  35. writeln('Максимальный элемент=',C[imax],' его номер=',imax);
  36. if imax=N then
  37.  begin
  38.   write('Максимальный элемент последний, преобразование невозможно');
  39.   exit
  40.  end;
  41. writeLn('Вывод нового массива C:');
  42. for i := 1 to N do
  43.  begin
  44.   if i>imax then C[i]:=S;
  45.   write(C[i]:5);
  46.  end;
  47. end.

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

  1. Создается переменная C, которая представляет собой массив целых чисел размером от 1 до 60.
  2. Задаются две переменные N и i, которые будут использоваться для чтения и обработки элементов массива C.
  3. Задается переменная S, которая будет использоваться для хранения суммы положительных элементов массива C.
  4. Задается переменная K, которая будет использоваться для отслеживания индекса максимального элемента в массиве C.
  5. Выводится сообщение с просьбой ввести количество элементов в массиве C до 60.
  6. Пока пользователь не введет число элементов, не превышающее 60, выполняется цикл.
  7. В каждой итерации цикла выводится сообщение с просьбой ввести элемент массива C.
  8. Если введенный элемент больше нуля, то к переменной S прибавляется его значение.
  9. Если введенный элемент равен элементу C[1], то увеличивается значение переменной K.
  10. Если введенный элемент равен первому элементу массива C, то устанавливается максимальное значение переменной imax.
  11. Если все элементы массива C равны, выводится сообщение о невозможности преобразования.
  12. Если в массиве C есть элементы с разными значениями, выводится сообщение о невозможности преобразования.
  13. Если в массиве C есть максимальный элемент, отличный от последнего, выводится сообщение о невозможности преобразования.
  14. Выводится сообщение с просьбой ввести новый массив C.
  15. В каждой итерации цикла выводится значение элемента массива C, если его значение больше значения переменной imax.
  16. Если в массиве C есть элементы с разными значениями, устанавливается значение переменной imax.
  17. Программа завершается.

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


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

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

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

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

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

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