Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/42: Рейтинг темы: голосов - 42, средняя оценка - 4.79
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17

Найти номер минимального элемента массива; сумму элементов массива расположенных между первым и вторыи отрицательными элементами

22.12.2009, 11:34. Показов 8189. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень прошу помоч с решением заданий по одномерным и двумерным массивам....
У меня ужасный завал с паскалем....
задача:
В одномерном массиве состоящем из n численных элементов вычислить:
а) номер минимального элемента массива
б) сумму элементов массива расположенных между первым и вторыи отрицательными элементами.
Заранее большое спасибо

Добавлено через 53 секунды
Есть кое какие наработки,но они делают не то чо нада....
Первая часть находит минимальный жлемент но не указывает его номер в массмве,а вторая часть находит сумму между первым и паследним элементом,но не между отрицательными....


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program min_even;
var 
a:array [1..10] of integer;
i: integer;
min:integer;
begin
for i:=1 to 10 do begin
writeln('vvedite element massiva');
readln(a[i]) ;
end;
min:=i;
for i:=1 to 10 do
if (a[i]<min) then min:=a[i];
  writeln ('minimalnii elemnt massiva raven:',min);
  readln;
end.


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program p1;
const MaxN=1000;
var m:array [1..MaxN] of real;
    m2:array [1..MaxN] of real;
    i,k,n:integer;
    summa:real;
begin
writeln ('Vvedite N (razmernosti massiva):');
readln (n);
writeln ('Vvedite sam massiva(elementy ukazati cherez probel):');
for i:=1 to n do read (m[i]); writeln;
k:=0;
for i:=1 to n do
if m[i]<>0 then begin inc(k); m2[k]:=m[i];
  end;
for i:=2 to k-1 do summa:=summa+ m2[i];
writeln ('REZULTAT= ',summa:3:0);
 
readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2009, 11:34
Ответы с готовыми решениями:

Найти сумму элементов массива, расположенных между первым и последним отрицательными элементами
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1. Сумму элементов...

Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Номер минимального...

Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами
3) Найти сумму элементов массива,расположенных между первым и вторым отрицательными элементами.

10
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
22.12.2009, 11:59
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program min_even;
var 
a:array [1..10] of integer;
i: integer;
min:integer;
begin
for i:=1 to 10 do begin
writeln('vvedite element massiva');
readln(a[i]) ;
end;
min:=1;
for i:=1 to 10 do
if (a[i]<a[min]) then min:=i;
  writeln ('minimalnii elemnt massiva raven:',min);
  readln;
end.
Добавлено через 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
Program p1;
const MaxN=1000;
var m:array [1..MaxN] of real;
    m2:array [1..MaxN] of real;
    i,k,n:integer;
    summa:real;
begin
writeln ('Vvedite N (razmernosti massiva):');
readln (n);
writeln ('Vvedite sam massiva(elementy ukazati cherez probel):');
for i:=1 to n do read (m[i]); writeln;
i:=1;
while (a[i]>=0)and(i<=n) do inc(i);
 
i:=i+1;
summa:=0;
while (a[i]>=0)and(i<=n) do
begin
 summa:=summa+a[i];
 inc(i);
end;
 
writeln ('REZULTAT= ',summa:3:0);
 
readln;
end.
1
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
22.12.2009, 13:44  [ТС]
первый вариант рабочий,а вот со вторым проблемка, когда указываю между отрицательными элементами числа,он не находит их сумму,тупо ноль выдает в атвете и всё...

Добавлено через 51 минуту
может кто подсказать?
а так же буду очень признателен если кто-нибудь поможет решить задачу вторую с двумерными массивами

Добавлено через 17 минут
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
Program p1;
const MaxN=1000;
var m:array [1..MaxN] of real;
i,k,n:integer;
summa:real;
begin
writeln ('Vvedite N (razmernosti massiva):');
readln (n);
writeln ('Vvedite sam massiva(elementy ukazati cherez probel):');
for i:=1 to n do read (m[i]); writeln;
i:=1;
while (m[i]>=0)and(i<=n) do inc(i);
 
i:=i+1;
summa:=0;
while (m[i]>=0)and(i<=n) do
begin
summa:=summa+m[i];
inc(i);
end;
 
writeln ('REZULTAT= ',summa:3:0);
readln;
end.
вот вариант программы,но она высчитывает сумму если отрицательные элементы стоят на канцах массива,а если элементы стоят в середине,то ответ выдает ноль соотвецтвенно.

Добавлено через 6 минут
вобщем программа рабочая,просто у меня руки не оттуда растут!!!
спасибо mamedovvms
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2009, 13:53
1.
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
uses crt;
var a:array[1..100] of integer;
    n,i,i1,i2,imn,s,p:integer;
begin
clrscr;
write('Размер массива n=');
readln(n);
writeln('Введите ',n,' элементов массива:');
for i:=1 to n do
 begin
  write('a[',i,']=');
  readln(a[i]);
 end;
clrscr;
writeln('Массив:');
imn:=1;
for i:=1 to n do
 begin
  write(a[i],' ');
  if a[i]<a[imn] then imn:=i;
 end;
writeln;
writeln('Номер минимального элемента=',imn);
i1:=0;
for i:=1 to n do
if a[i]<0 then
 begin
  i1:=i;
  break;
 end;
if i1=0 then
  begin
   writeln('В массиве нет отрицательных элементов!');
   writeln('Сумма=0');
  end
else if i1=n then
  begin
   writeln('В массиве 1 отрицательный элемент!');
   writeln('Сумма=0');
  end
else
 begin
  for i:=i1+1 to n do
  if a[i]<0 then
   begin
    i2:=i;
    break;
   end;
  if i2=i1+1 then writeln('Между первым и вторым отрицательными нет элементов!')
  else
   begin
    s:=0;
    for i:=i1+1 to i2-1 do
    s:=s+a[i];
    write('Сумма=',s);
   end;
 end;
readln
end.
0
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
22.12.2009, 15:25  [ТС]
а как преобразовать массив таким образом,чтобы элементы,модуль которых не привышает единицу,распологались сначала,а все остальные потом?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2009, 15:42
2.
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
uses crt;
const nmax=20;
type  matr=array[1..nmax,1..nmax] of integer;
procedure Vvod(var mt:matr;var x,y:byte);
var i,j:byte;
begin
repeat
write('Количество строк=');readln(x);
until x in [1..nmax];
repeat
write('Количество столбцов=');readln(y);
until y in [1..nmax];
writeln('Введите ',x*y,' целых чисел-элементов матрицы');
for i:=1 to x do
for j:=1 to y do
read(mt[i,j]);
readln;
clrscr;
end;
procedure Harak(var mt:matr;x,y:byte);
{считаем сумму модулей отрицательных нечетных в столбце}
var i,j:byte;
    sm:integer;
begin
for j:=1 to y do
 begin
  sm:=0;
  for i:=1 to x do
  if (mt[i,j]<0)and(mt[i,j] mod 2<>0) then sm:=sm+abs(mt[i,j]);
  mt[x+1,j]:=sm;{и записываем в дополнительную строку}
 end;
end;
procedure Vyvod(var mt:matr;x,y:byte);{вывод матрицы}
var i,j:byte;
begin
for i:=1 to x do
 begin
  write(' ':5);{5 пробелов в начале строки}
  for j:=1 to y do
  write(mt[i,j]:5);{элементы строки}
  writeln;
 end;
writeln;
write('Сумма');{дополнительная строка с суммами}
for j:=1 to y do
write(mt[x+1,j]:5);
writeln;
writeln;
end;
 
procedure Sort(var mt:matr;x,y:byte);
{перестановка столбцов по возрастанию суммы}
var i,j,k:byte;
    buf:integer;{буфер для обмена в строке сумм}
begin
for i:=1 to y-1 do{по строке}
for j:=i+1 to y do
if mt[x+1,i]>mt[x+1,j] then
for k:=1 to x+1 do
 begin
  buf:=mt[k,i];
  mt[k,i]:=mt[k,j];
  mt[k,j]:=buf;
 end;
end;
function Summ(mt:matr;x,y:byte):integer;
var i,j,k,p:byte;
    s,sm:integer;
begin
sm:=0;
for j:=1 to y do
 begin
  k:=0;
  for i:=1 to x do
  if mt[i,j]<0 then
   begin
    k:=1;
    break;
   end;
  if k=1 then
   begin
    s:=0;
    for p:=1 to x do
    s:=s+mt[p,j];
    writeln('В столбце ',j,' сумма=',s);
   end;
  sm:=sm+s;
 end;
Summ:=sm;
end;
var a:matr;
    n,m:byte;
    s:integer;
begin
clrscr;
Vvod(a,n,m);
Harak(a,n,m);
writeln('Исходная матрица:');
Vyvod(a,n,m);
writeln;
Sort(a,n,m);
writeln('Перестановка столбцов:');
Vyvod(a,n,m);
writeln;
s:=Summ(a,n,m);
write('Общая сумма элементов в столбцах с отрицательными элементами=',s);
readln
end.
Добавлено через 10 минут
Преобразовать массив.
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
uses crt;
var a:array[1..100] of real;
    n,i,k,j:integer;
    x:real;
begin
clrscr;
randomize;
write('Размер массива n=');
readln(n);
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=5*random-2;
  write(a[i]:5:1);
 end;
writeln;
writeln;
writeln;
k:=0;
for i:=1 to n do
if abs(a[i])<=1 then
  begin
    k:=k+1;
    x:=a[i];
    for j:=i downto k+1 do
    a[j]:=a[j-1];
    a[k]:=x;
  end;
writeln('Перестановка:');
for i:=1 to n do
write(a[i]:5:1);
readln
end.
readln
end.
0
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
22.12.2009, 16:13  [ТС]
а как соединить их воедино?

Добавлено через 22 минуты
нужно чтобы этот самый одномерный массив сразу еще и перестанавливался
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2009, 16:19
Ptrotect0r, А ты скажи ему "фас", может и сам перестановится. Сколько можно мозги пудрить с заданием?
0
 Аватар для Ptrotect0r
1 / 1 / 0
Регистрация: 22.12.2009
Сообщений: 17
22.12.2009, 16:22  [ТС]
прошу прощения,сам сделаю
0
 Аватар для Amid007
63 / 63 / 51
Регистрация: 20.05.2011
Сообщений: 116
20.05.2011, 18:26
program jhsdgja;
uses crt;
label m1;
var a: array [1..10] of integer;
i,min,k,c,b,sum: integer;
begin
clrscr;
k:=0;
for i:=1 to 10 do
begin
write('a[',i,']=');
readln(a[i]);
end;
min:=a[1];
for i:=1 to 10 do
if a[i]<min then min:=a[i];
writeln('min=',min);
for i:=1 to 10 do
begin
if a[i]<0 then
begin
if b=0 then b:=i
else c:=i;
k:=k+1;
if k=2 then goto m1;
end;
end;
m1: for i:=b to c do
sum:=sum+a[i];
writeln('sum= ',sum);
readln;
end.
0
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 17
30.11.2011, 08:20
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
program abc;
uses crt;
var
n,i,j,summ,nmin,min1,min2:integer;
arr: Array [1..10] of integer;
begin
clrscr;
read(n);
for i:=1 to n do begin
read(arr[i]);
end;
nmin:=1;
for i:=2 to n do begin
if arr[i]<arr[nmin] then nmin:=i;
end;
min1:=0; min2:=0;
for i:=1 to n do begin
if arr[i]<0 then begin min1:=i;
                  break
end;
end;
for i:=min1+1 to n do begin
if arr[i]<0 then begin  min2:=i;
                        break
end;
end;
summ:=0;
for i:=min1+1 to min2-1 do  begin
summ:=summ+ arr[i];
end;
writeln('Nomer min: ',nmin,';','Summa elementov: ',summ);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2011, 08:20
Помогаю со студенческими работами здесь

Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами
ребята помогите пожалуйста, я не программист и ни фига в этом не понимаю из похожего задания что то...

Найти сумму элементов массива, расположенных между первым и последним отрицательными элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти сумму элементов массива,...

Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами
Составить текст программы на языке Паскаль, содержащий: 1) функцию, выполняющую действия над...

Найти сумму элементов массива, расположенных между первым и последним отрицательными элементами
Помогите пожалуйсто! В одномерном массиве,состоящем из n вещественных элементов,вычислить:...

Вычислить сумму всех элементов массива, расположенных между первым и последним отрицательными элементами
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму всех элементов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru