Как найти сумму отрицательных элементов массива паскаль

4 / 3 / 0

Регистрация: 08.12.2009

Сообщений: 63

1

Сумма отрицательных элементов массива.

21.02.2010, 11:47. Показов 47432. Ответов 3


Студворк — интернет-сервис помощи студентам

В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1. Сумму отрицательных элементов массива.
2. Произведение элементов массива, расположенных между максимальным и минимальным элементами.
3. Упорядочить элементы массива по возрастанию.



0



WolfCF

3310 / 1372 / 110

Регистрация: 28.04.2009

Сообщений: 4,822

21.02.2010, 13:20

2

Цитата
Сообщение от Flatterer
Посмотреть сообщение

Сумму отрицательных элементов массива.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var
a:array [1..100] of integer;
i,n,s:integer;
begin
clrscr;
write ('Введите количество элементов массива:');
readln (n);
for i:=1 to n do
a[i]:=random (15)-10;
write (a[i],' ');
writeln;
for i:=1 to n do
if a[i]<0 then
  s:=s+a[i];
writeln ('s=',s);
readln
end.



0



Snoopy

1915 / 1065 / 384

Регистрация: 06.12.2008

Сообщений: 2,802

21.02.2010, 13:41

3

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
uses crt;
var a:array[1..100] of real;
    i,j,n,imax,imin:integer;
    s,x,min,max,p:real;
begin
ClrScr;
Randomize;
repeat
Writeln('Vvedite razmernost massiva');
Write('n=');
Readln(n);
until n in [1..100];
for i:=1 to n do
 begin
  a[i]:=-10+random(20);
  Write(a[i]:0:1,'  ');
 end;
s:=0;
min:=a[1];
imin:=1;
max:=a[2];
imax:=2;
for i:=1 to n do
 begin
  if a[i]<0 then
   s:=s+a[i];
  if a[i]<min then
   begin
    min:=a[i];
    imin:=i;
   end;
  if a[i]>max then
   begin
    max:=a[i];
    imax:=i;
   end;
 end;
Writeln;
Writeln('S=',s:0:3);
Writeln('Min ',min:0:1,' [',imin,']');
Writeln('Max ',max:0:1,' [',imax,']');
p:=1;
 if imin>imax then
  for i:=imax+1 to imin-1 do
   p:=p*a[i]
 else
  for i:=imin+1 to imax-1 do
   p:=p*a[i];
Writeln('P=',p:0:2);
 for i:=1 to n do
  for j:=i to n do
   if a[i]>a[j] then
    begin
     x:=a[i];
     a[i]:=a[j];
     a[j]:=x;
    end;
Writeln('Sort massiv ');
 for i:=1 to n do
  Write(a[i]:0:1,'  ');
Readln;
end.



0



3310 / 1372 / 110

Регистрация: 28.04.2009

Сообщений: 4,822

21.02.2010, 13:44

4



0



Войти через ВКонтакте

+13

Дан одномерный массив A[n]. Найти сумму отрицательных элементов. Получить новый массив B[n] путем замены нулевых элементов на полученную сумму.
pascal

5 лет назад120 Следить

Ответы на вопрос | 2

avatarАлександра

Const
 n=10;
var
 A: array[1..n] of integer;
 B:array[1..n] of integer;
  i: integer;
  sum: integer;
begin
{Заполнение массивов случайными числами}
randomize;
for i:=1 to n do begin
  A[i]:=random(100)-50;
  B[i]:=random(100)-50; {или B[i]=A[i];, если значения массива B должны совпадать со значениями массива A }
end;
{Поиск суммы отрицательных элементов}
sum:=0;
for i:=1 to n do 
  if A[i]<0 then sum:=sum+A[i];
{Замена нулевых элементов массива B на полученную сумму}
for i:=1 to n do
  if B[i]=0 then B[i]:=sum;
{Вывод значений массива A}
writeln(‘массив A’);
for i:=1 to n do
  write(A[i],’,’);
writeln(»);
writeln(‘Массив B’);
{Вывод значений массива B}
for i:=1 to n do
  write(B[i],’,’);

{Ожидание нажатия клавиши return от пользователя.}
readln;
end.

5 лет назад

avatarЛюбовь

// PascalABC.NET 3.2, сборка 1509 от 27.07.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger(‘n=’),-10,10); a.Println;
  var s:=a.Where(x->x<0).Sum; // сумма отрицательных элементов
  var b:=a.Select(x->x=0?s:x).ToArray; b.Println
end.

Пример
n= 20
1 6 2 4 2 3 5 -8 2 -6 0 1 -7 0 -7 8 -4 -8 -1 -8
1 6 2 4 2 3 5 -8 2 -6 -49 1 -7 -49 -7 8 -4 -8 -1 -8

5 лет назад

+18

3

Окружающий мир5 лет назад

var
   i,sum : integer;                           // объявляем переменные целочисленного типа.
   arr : array [1..100] of integer;     // объявляем массив.
Begin
    for i:= 1 to 100 do         // начало цикла.
      begin
         arr[i] := random(-100,100); // заполняем элемент массива числом  от -100 до 100.
         if arr[i] < 0 then                  // если элемент отрицательный.
            sum := sum + arr[i];        // считаем сумму элементов.
      end;
   writeln(‘Сумма отрицательных элементов массива: ‘, sum);   //вывод строки на экран.
End.

На занятии разбираются разного уровня сложности задачи в Pascal для работы с одномерными массивами

Задача сайта labs-org.ru — получение пользователями практических навыков работы с языком. Уроки по Паскалю, изложенные по мере увеличения их сложности и подкрепляемые наглядными решенными примерами, позволят с легкостью освоить изучаемый материал.

Для начала рассмотрим не сильно сложную задачу с одномерными массивами в Pascal:

Пример: Найти максимальный элемент численного массива и его индекс.

Результат:

поиск макс и мин в массиве
Подумайте, пригодится ли в программе счетчик или нет, нужны ли дополнительные переменные.

Показать листинг программы:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const
m = 20;
var
arr: array[1..m] of byte;
max_index: byte;
i: byte;
begin
randomize;
for i := 1 to m do begin
  arr[i] := random(100);
  write (arr[i]:3);
end;
max_index := 1;
for i := 2 to m do
 if arr[i] > arr[max_index] then begin
  max_index := i;
 end;
writeln;
writeln ('Max = ',arr[max_index]);
writeln ('position: ', max_index);
end.

Задача Array 15. Требуется заполнить массив числами, которые вводит пользователь, и вычислить их сумму. Если пользователь вводит ноль или превышен размер массива, то запросы на ввод должны прекратиться. Использовать цикл с постусловием (repeat)

Результат:

Число: 3
Число: 2
Число: 5
Число: 0
3 2 5 0
sum = 10

сумма элементов массива

[Название файла: task15.pas]

Задача Array 16. Дан массив из 50 элементов, значения которых формируются функцией random и лежат в диапазоне от -50 до 49 включительно.  Требуется из одного массива скопировать в другой массив значения в диапазоне от -5 до 5 включительно и подсчитать их количество.

задача с одномерными массивами Паскальзадача с одномерными массивами Паскаль

[Название файла: task16.pas]

Задача Array 17. В одномерном массиве (заполнение массива случайными числами от -50 до 49) найти сумму отрицательных элементов. Если эта сумма меньше -100, то необходимо прибавить к ней минимальный положительный элемент.
сложные задачи в Pascal

Следующую сложную задачу с одномерными массивы следует разобрать подробно.

Пример: Имеется одномерный массив, содержащий числа от 0 до 49 включительно. Требуется исключить из него все элементы, значения которых меньше 15.

Сложность этого задания состоит в том, что нужно не просто удалять элементы, значения которых < 15, а требуется при этом передвигать остальные элементы, стоящие за удаляемым, на позицию влево. Как бы сжимая массив, чтобы не оставались «пустые» элементы.

Показать решение

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const n=20;
var
   arr: array[1..n] of integer;
   i,j,m:integer;
begin
randomize;
for i:=1 to n do begin
    arr[i]:=random(50);
    write(arr[i]:4);
end;
writeln;
m:=n;
i:=1;
while i<=m do
      if arr[i]<15 then begin
         for j:=i to m-1 do
             arr[j]:=arr[j+1];
         m:=m-1
      end
      else
          i:=i+1;
writeln('Результат:');
for i:=1 to m do
    write(arr[i]:4)
end.

Рассмотрим представленный алгоритм решения данной сложной задачи с одномерным массивом:

  • строка 12: Здесь присваивание значения n переменной m требуется, т.к. n — константа и не может быть изменена. Поскольку при «просмотре» массива в цикле while некоторые элементы будут удаляться, то значение m, обозначающее длину массива, будет уменьшаться.
  • строка 21: Если очередной элемент не удаляется, то переходим к просмотру следующего элемента (i := i + 1) и не уменьшаем массив (m не меняется).

Задача Array 18. Дан массив из N элементов в диапазоне [100;300]. Сжать массив, оставив в нем только те элементы, сумма цифр которых четная.

101  245  167  295  133  >>> 101(2)  167(14)  295(16)

[Название файла: task18.pas]

Задача Array 19. Заполнить массив из 10 элементов случайными числами в интервале [0..4] и определить, есть ли в нем одинаковые соседние элементы.

Пример:

	 Исходный массив:
	 4  0  1  2  0  1  3  1  1  0
	 Ответ: есть

[Название файла: task19.pas]

Задача Array 20.

  1. Определите в массиве A номер первого элемента, равного X.
  2. Определите номер первого элемента, равного X, в первой половине массива A (массив имеет чётное число элементов).
  3. Определите номер первого элемента, равного X, во второй половине массива A (массив имеет чётное число элементов).

[Название файла: task20.pas]

Задача Array 21. Найти количество различных чисел в одномерном массиве.

[Название файла: task21.pas]

Рассмотрим алгоритм решения:
алгоритм решения кол-во разлинчых чисел в массиве

Задача Array 22. Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и сделать реверс отдельно для 1-ой и 2-ой половин массива.
Пример:
перестановка элементов массива

[Название файла: task22.pas]

Задача Array 23. Заполнить массив из 12 элементов случайными числами в интервале [-12..12] и выполнить циклический сдвиг ВПРАВО на 4 элемента.
Пример:
1

[Название файла: task23.pas]

Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

проверь себя

Дано 10 чисел вывести сумму отрицательных элементов массива.

На этой странице находится вопрос Дано 10 чисел вывести сумму отрицательных элементов массива?, относящийся к категории
Информатика. По уровню сложности данный вопрос соответствует знаниям
учащихся 10 — 11 классов. Здесь вы найдете правильный ответ, сможете
обсудить и сверить свой вариант ответа с мнениями пользователями сайта. С
помощью автоматического поиска на этой же странице можно найти похожие
вопросы и ответы на них в категории Информатика. Если ответы вызывают
сомнение, сформулируйте вопрос иначе. Для этого нажмите кнопку вверху.

Понравилась статья? Поделить с друзьями:
  • После блефаропластики провалились глаза как исправить
  • Как найти хорошего мужа маме моей
  • Как найти теплую куртку
  • Как найти узнать свой снилс
  • Как составить акт об осуществлении технологического присоединения