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

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

08.02.2010, 19:05. Показов 1249. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru