Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 65

Выстроить новобранцев по убыванию роста и отобрать K человек начиная с M-го по росту

17.02.2014, 22:26. Показов 1686. Ответов 4
Метки нет (Все метки)

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

В разведроте пополнение. 10 новобранцев выстроились на плацу. У сержанта приказ - выстроить их по убыванию роста и отобрать K человек начиная с M-го по росту. Эту задачу можно решить и без построения, если известен рост каждого новобранца.

Я распределил по убыванию, а дальше не знаю как отобрать начиная с М-го по росту. Помогите пожалуйта. Заранее спасибо

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
a:array[1..1000] of longint;
K,M,n,x,b,i,j,g:longint;
begin
read(K,M);
read(n);
for i:=1 to n do
read(a[i]);
read(K,M);
for i:=1 to n-1 do begin
for j:=i+1 to n do begin
if a[i]<a[j] then begin
x:=a[i]; 
a[i]:=a[j]; 
a[j]:=x;
end;
end;
end;
for i:=1 to K do
ТУТ СТУПОР. НЕ ЗНАЮ КАК ДАЛЬШЕ!!!!!!!!!!! :cry:
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2014, 22:26
Ответы с готовыми решениями:

Выстроить новобранцев по росту
Нужно перевести программу с Паскаля на С++ const M=10; {максимально число элементов в A} {будем считать, что A состоит из чисел от 1...

Определить количество человек, рост которых больше среднего роста всех 25 человек
Рост 25 человек задан одномерным массивом. определить количество человек рост которых больше среднего роста всех 25 человек. Добавлено...

Сортировка кандидатов по росту. Вывод фамилии и роста
сортировка кандидатов по росту. Вывод фамилии и роста

4
 Аватар для newlam
2 / 2 / 1
Регистрация: 06.05.2013
Сообщений: 34
17.02.2014, 22:58
Сделал как понял
Посмотри, может пригодится
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
uses crt;
var
otryad:array[0..9] of integer;
otobr:array[0..9] of integer;
K,k1,M,i,q,temp:integer;
flag:boolean;
begin
Randomize;
write('Boyci:');
for i:=0 to 9 do begin
otryad[i]:=random(30)+160;
write(otryad[i]:4);
end;
 
repeat
flag:=false;
 
for i:=0 to 8 do begin
if otryad[i]<otryad[i+1] then begin
flag:=true;
temp:=otryad[i];
otryad[i]:=otryad[i+1];
otryad[i+1]:=temp;
end;
end;
until (flag=false);
 
writeln;
write('Perestroeni:');
for i:=0 to 9 do begin
write(otryad[i]:4);
end;
 
writeln;
write('Otobrat K:');
readln(k);
write('Nachinaya s :');
readln(m);
k1:=k-1;
m:=m-1;//massiv nachinaetsya ot 0..9
q:=0;
for i:=0 to 9 do begin
if (m<i+1) and (k>0) then begin
otobr[q]:=otryad[i];
q:=q+1;
k:=k-1;
end;
end;
 
writeln;
write('Otobrani:');
for i:=0 to k1 do begin
write(otobr[i]:4);
end;
 
end.
по поводу защиты от ошибок, нужно смотреть чтобы m не было меньше нуля
0
0 / 0 / 1
Регистрация: 03.01.2014
Сообщений: 65
17.02.2014, 23:04  [ТС]
Смотри, решение не моего уровня. Задача из легких, просто на перебор. Я все решил, а вот в этой не знаю как отобрать начиная с M-го по росту. Ты написал круто, а тут всего лишь надо 3 строчки дописать, и я не могу сооброзить) На маил ру вопросах мне ответили вот так "что сложного? Меньшее по росту это a[n] , дальше К человек по возрастанию" а я все равно не могу переварить, может ты поймешь?!
0
 Аватар для newlam
2 / 2 / 1
Регистрация: 06.05.2013
Сообщений: 34
17.02.2014, 23: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
33
34
var
a:array[1..1000] of longint;
K,M,n,x,b,i,j,g:longint;
begin
read(n);
for i:=1 to n do read(a[i]);
write('k,m:');
read(K,M);
for i:=1 to n-1 do begin
for j:=i+1 to n do begin
if a[i]<a[j] then begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
end;
end;
 
writeln;
write('Postroeni:');
for i:=1 to n do begin
write(a[i]:4);
end;
 
writeln;
write('Otobrani:');
for i:=1 to n do begin
if (i>=m) and (k>0) then begin
write(a[i]:4);
k:=k-1;
end;
end;
 
end.
можно убрать вот это:
writeln;
write('Postroeni:');
for i:=1 to n do begin
write(a[i]:4);
end;
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.02.2014, 10:04
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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 byte;
   n,i,j,K,M,x:integer;
begin
randomize;
repeat
write('Введите количество новобранцев от 1 до 100 n=');
read(n);
until n in [1..100];
for i:=1 to n do
a[i]:=150+random(50);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Новобранцы по убыванию роста');
for i:=1 to n do
write(a[i]:4);
writeln;
repeat
write('Номер первого новобранца от 1 до ',n,' M=');
read(M);
until M in [1..n];
repeat
write('Введите количество отобранных новобранцев от 1 до ',n-M+1,' K=');
read(K);
until K in [1..n-M+1];
writeln('Отобранные новобранцы');
for i:=M to M+K-1 do
write(a[i]:4)
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2014, 10:04
Помогаю со студенческими работами здесь

Узнать количество человек, рост которых равен росту самого высокого
На праздник был устроен конкурс. В конкурсе участвовало N человек. Известен, рост каждого (A). Нужно узнать количество человек, рост...

Отобрать документы за 5 месяцев, начиная с текущей даты
Подскажите, как отобрать документы за 5 месяцев начиная с текущей даты (Рабочей)? Добавлено через 14 минут ...

Сколькими способами можно отобрать 5 человек из группы?
Доброго времени суток. Попал в большую задницу с дискреткой, завтра последний шанс сдать, а пары были пропущены из-за работы. Нуждаюсь...

В массиве хранятся значения роста 12 человек
Пожалуйста, помогите решить задачу!!! Решение задач с использованием одномерных массивов. В массиве хранятся значения роста 12 человек....

Выстроить элементы массива по убыванию
Дан массив a (5; 7; 22; 1; 8; 16; 3). Выстроить элементы массива по убыванию


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru