Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для gromil
2 / 2 / 4
Регистрация: 26.12.2009
Сообщений: 70

Дан отсортированый массив и число N. Если сумма двух элементов массива >= N, то исключить элементы. Т.е. вывести элементы, сумма которых строго мень

08.02.2010, 19:05. Показов 1259. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан отсортированый массив и число N. Если сумма двух элементов массива >= N, то исключить элементы. Т.е. вывести элементы, сумма которых строго меньше N.
Thanks

Добавлено через 47 минут
up

Добавлено через 32 минуты
Вот накалякал, но не уверен, что работает во всех случаях:
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
var  n,i,h,j,n1:integer;
tmp,sum:real;
a,b:array[1..100] of real;
begin
sum:=0;
 
 
readln(n,h);
for i:=1 to n do
 
readln(a[i]);
j:=0;
for i:=1 to n do
begin
if a[i]>=h then
dec(n)
else  begin
inc(J);
b[j]:=b[j]+a[i];
sum:=sum+b[j];
end;
end;
   for i:=2 to n do
   for j:=n downto i do
    if b[j-1]<b[j] then
     begin
       tmp:=b[j-1];
       b[j-1]:=b[j];
       b[j]:=tmp;
     end;
      n1:=n;
      i:=1;
    while sum>=h do
   begin
 
       if b[i]+b[n]<h then
       begin
       while b[n]+b[i]< h do
       begin
       if b[i]+b[n]>=h then
       begin
       sum:=sum-b[i]-b[n];
       b[i]:=0;
       b[n]:=0 ;
       end
       else
       dec(N);
       end;
       end else
       begin
       sum:=sum-b[i]-b[n];
       b[i]:=0;
       b[n]:=0;
       inc(I);
       dec(N);
       end ;
 
 
      write(b[n]:1:1);
       end;
 
    readln
    end.
Добавлено через 28 секунд
Пожалуйста, проверьте код и скажите работоспособность.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2010, 19:05
Ответы с готовыми решениями:

Дано число R и массив размера N. Найти два соседних элемента массива, сумма которых наиболее близка к числу R,и вывести эти элементы
Дано число R и массив размера N. Найти два соседних элемента мас- сива, сумма которых наиболее близка к числу R, и вывести эти элементы в...

Вывести на экран те элементы массива, у которых сумма первых двух цифр равна сумме двух последних
Помогите решить Дан массив из n четырехзначных натуральных чисел. Вывести на экран только те, у которых сумма первых двух цифр равна ...

Вывести на экран элементы массива у которых сумма номера и элемента дают число кратное 17
4. Вывести на экран элементы массива у которых сумма номера и элемента дают число кратное 17. (Элементов массива:7. Массив вводится с...

2
 Аватар для Unrealler
654 / 352 / 113
Регистрация: 11.12.2009
Сообщений: 508
08.02.2010, 19:44
Мне кажется, что гораздо удобнее заполнять массив случайными числами, а затем сортировать его.
Цитата Сообщение от gromil Посмотреть сообщение
Дан отсортированый массив
Если по убыванию, то в 15-ой строке вместо > поставить <
Цитата Сообщение от gromil Посмотреть сообщение
вывести элементы, сумма которых строго меньше N
Имеются ввиду рядом стоящие? Если нет, то нужно добавить в программу сверку каждого с каждым.
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
uses crt;
var a,b:array[1..100] of integer;
i,j,s,n,r,z,kol:integer;
begin
clrscr;
write('Ââåäèòå ðàçìåð ìàññèâà=');
readln(s);
write('Ââåäèòå n=');
readln(n);
randomize;
for i:=1 to s do
 a[i]:=random(51);
for j:=1 to s-1 do
 for i:=1 to s-j do
  if (a[i]>=a[i+1]) then
   begin
    r:=a[i];
    a[i]:=a[i+1];
    a[i+1]:=r;
   end;
writeln('Èñõîäíûé ìàññèâ');
for i:=1 to s do
 write(a[i]:4);
writeln;
writeln('Íóæíûå ýëåìåíòû');
for i:=1 to s-1 do
 if (a[i]+a[i+1]<n) then
  begin
   z:=z+1;
   b[z]:=a[i];
   z:=z+1;
   b[z]:=a[i+1];
   kol:=kol+1;
  end;
z:=0;
for i:=1 to kol*2 do
 begin
  write(b[i]:4);
  z:=z+1;
  if (z=2) then
   begin
    writeln;
    z:=0;
   end;
 end;
readln
end.
1
 Аватар для gromil
2 / 2 / 4
Регистрация: 26.12.2009
Сообщений: 70
08.02.2010, 21:06  [ТС]
объясните, пожалуйста, эти строки:
Pascal
1
2
3
4
5
6
7
8
9
for i:=1 to s-1 do
 if (a[i]+a[i+1]<n) then
  begin
   z:=z+1;
   b[z]:=a[i];
   z:=z+1;
   b[z]:=a[i+1];
   kol:=kol+1;
  end;
понял, эти строки означают, что если сумма рядом стоящих элементов меньше n, то записываем их в дополнительный массив и считаем их количество. А что, если они стоят не рядом??

Добавлено через 1 час 3 минуты
help,please!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2010, 21:06
Помогаю со студенческими работами здесь

Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение "Сумма четная", в противном случае напечатать "Сумма
Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение &quot;Сумма четная&quot;, в противном...

Если сумма элементов массива > 0, переписать в массив В положительные элементы, иначе – отрицательные
Ввести массив А(n). Найти сумму элементов массива. Если она &gt;0, переписать в массив В положительные элементы, иначе – отрицательные. Сумму...

Дан двумерный массив,элементы массива умножить на число К.Вывести новый массив,проссумировать элементы массива по столбцам
Дан двумерный массив,элементы массива умножить на число К.Вывести новый массив,проссумировать элементы массива по столбцам.

Дан массив целого типа, определить элементы, сумма цифр которых кратна 3
Дан массив А (н) целого типаю оределить элементы, сумма цыфр которых кратна 3м Добавлено через 1 минуту 52 секунды Помогите...

Дан массив А(п) целого типа. Определить элементы, сумма цифр которых кратна 3.
Дан массив А(п) целого типа. Определить элементы, сумма цифр которых кратна 3.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru