Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 2
1

Определение семи минимальных введенных элементов

28.01.2015, 20:57. Показов 565. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста!
Входной поток данных заканчивается точкой; нужно определить семь минимальных введенных элементов. Вроде бы как сделать я понимаю, но паскаль выдает ошибку... еще совсем не умею работать с функциями и процедурами в string.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var x, t: string;
i, j, m, h: integer;
a: array[1..7] of integer;
BEGIN
 for i:= 1 to 7 do
 a[i]:= maxint;
 while x<>'.' do
 begin
  read (x);
  val (x);
  for i:= 1 to 7 do
  if x< a[i] then
  begin
   for j:= 7 downto i+1 do
   a[j]:= a[j-1];
   a[i]:=x;
   break;
  end;
 end;
 for i:= 1 to 7 do
 write (a[i]);
END.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2015, 20:57
Ответы с готовыми решениями:

Цикл: Определить число следующее за последним из введенных минимальных значений
Вот задача: С клавиатуры вводятся целые числа. Признак конца ввода - ноль. Определить число...

Найти разность между суммой четных и минимальных числом из введенных чисел (с блок схемой)
Задача- Вводятся числа. Конец ввода-0. Найти разность между суммой четных и минимальных числом из...

Определение минимального числа из N введенных вещественных чисел
Составить сценарий тестирования разработанных программ Оформить процедуры 1)ввода массива из N...

Определение предложения большей длины из двух предложений введенных с клавиатуры
1..Составить программу определения предложения большей длины из двух предложений введеных с...

2
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
30.01.2015, 10:58 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
procedure Sort(var st:string);
{ (C) Puporev}
var
  n,i,j:byte;
  c:char;
begin
  n:=ord(st[0]);
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if st[i]>st[j] then
        begin
          c:=st[i];
          st[i]:=st[j];
          st[j]:=c;
        end;
end;
 
var
  x: string;
  c:char;
  i: integer;
BEGIN
  x:='';
  while c<>'.' do
    begin
      read (c);
      x:=x+c;
    end;
  delete(x,length(x),1);  
  writeln('Исходная строка: ');
  writeln(x);
  sort(x);
  for i:= 1 to 7 do
    write (x[i]);
  readln;
END.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
30.01.2015, 14:29 3
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
n:=ord(st[0]);
Тут будет вылет за границы. В PABC.NET такие вольности запрещены.

По традиции - однострочное решение (уже после того, как строка s введена) :
Pascal
1
writeln(new string(s.ToCharArray().OrderBy((c : char) -> Ord(c)).Take(7).ToArray()));
1
30.01.2015, 14:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2015, 14:29
Помогаю со студенческими работами здесь

Определение типа введенных с клавиатуры букв: гласная, согласная разделитель
1. составить программу определение типа введенных с клавиатуры букв:гласная, согласная разделитель....

Вычислить среднее геометрическое кратных семи элементов массивов
5. Случайным образом сформировать 5 массивов : W(m), X(n), Y(q), Z®, A(t). Найти: • Сумму не...

Подсчитать количество отрицательных чисел в массиве из семи элементов. Сделать нужно в Repeat-Until!
Препод задал задачку, подсчитать количество отрицательных чисел в массиве через Repeat-Until. Это...

Поменять местами максимальный из минимальных элементов столбцов и минимальный из максимальных элементов строк
Поменять местами максимальный среди минимальных элементов столбцов и минимальный среди максимальных...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru