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

Запросить размерность массива у пользователя

17.03.2015, 00:31. Показов 2051. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, подскажите пожалуйста как будет лучше сделать так, чтобы вначале программа запрашивала размерность массива(процедура), чтобы можно было ее вводить с клавиатуры, а не описывать константой вначале программы. Через repeat...until пробовал, не получилось, есть ещё какие-то предложения?
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
program Lab_1;
const
  N = 10;
type 
    Massiv = Array[0..N-1] of integer;
Var
  a : Massiv;
  k, x : integer;
 
 procedure ZapMass(var a: massiv);
 var
   i: integer;
 begin  {ZapMass}
   randomize;
   for i := 0 to N-1 do
     a[i] := random(100);
 end;  {ZapMass}
 
{Процедура вывода массива на экран}
procedure VMass(a : massiv);
var
  i : integer;
begin {VMass}
  for i := 1 to N-1 do
    write(a[i] : 5);
  writeln;
end;  {VMass}
 
{Процедура сортировки вставками}
procedure Vstav(var x : integer);
var
  i, j : integer;
begin
  for i := 2 to N-1 do
    begin
      x := a[i]; // Вставляемый элемент
      j := i;    // Не дает выйти из-за границы массива
      while (j > 1) and (x < a[j - 1]) do
        begin
          a[j] := a[j - 1];
          dec(j);
        end;
        a[j] := x;
    end;
end; 
 
 
{Процедура поиска искомого элемента - Бинарный поиск}
procedure BinarySearch(a : massiv; k : integer);
var
  L, R, C : integer;
  found : boolean;
begin {BinarySearch}
  L := 1;
  R := N;
  found := false; //Признак успеха
  while (L <= R) and (not found) do
    begin
      C:= (L + R) div 2;
      if a[C] > k then
        R := C - 1
      else
        if a[C] < k then
          L := C + 1
        else
          found := true;
    end;
  if found then
    writeln('Элемент найдет с индексом: ', C)
  else
    writeln('Элемент не найден');
end;  {BinarySearch}
 
Begin {Lab_1}
   ZapMass(a);                          // Заполнение массива
  writeln('Исходный массив:');         // Вывод исходного массива на экран
  VMass(a);
  
  Vstav(x);
  
  writeln('Отсортированный массив:'); // Вывод отсортированного массива на экран
  VMass(a);
  
  writeln('Введите искомое значение:');
  readln(k);
 
  BinarySearch(a,k);  
End.  {Lab_1}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2015, 00:31
Ответы с готовыми решениями:

Запросить имя и поприветствовать пользователя
Напишите программу, которая запрашивает ваше имя и приветствует вас. Для ввода имени используйте стандартные библиотечные функции: ...

Запросить у пользователя положительное число
2) Запрашивает у пользователя положительное число sd

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

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
21.03.2015, 19: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
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
program Lab_1;
type
    Massiv = Array of integer;
Var
  a : Massiv;
  n,k, x : integer;
 
procedure SetArrayDim(var k:integer);
begin
  write('Введите размерность массива: ');  readln(k);
end;
 
procedure ZapMass(var a: massiv);
 var
   i: integer;
 begin  {ZapMass}
   randomize;
   setlength(a,n);
   for i := 0 to N-1 do
     a[i] := random(100);
 end;  {ZapMass}
 
{Процедура вывода массива на экран}
procedure VMass(a : massiv);
var
  i : integer;
begin {VMass}
  for i := 0 to N-1 do
    write(a[i] : 5);
  writeln;
end;  {VMass}
 
{Процедура сортировки вставками}
procedure Vstav(var x : integer);
var
  i, j : integer;
begin
  for i := 0 to N-1 do
    begin
      x := a[i]; // Вставляемый элемент
      j := i;    // Не дает выйти из-за границы массива
      while (j > 0) and (x < a[j - 1]) do
        begin
          a[j] := a[j - 1];
          dec(j);
        end;
        a[j] := x;
    end;
end;
 
 
{Процедура поиска искомого элемента - Бинарный поиск}
procedure BinarySearch(a : massiv; k : integer);
var
  L, R, C : integer;
  found : boolean;
begin {BinarySearch}
  L := 0;
  R := N;
  found := false; //Признак успеха
  while (L <= R) and (not found) do
    begin
      C:= (L + R) div 2;
      if a[C] > k then
        R := C - 1
      else
        if a[C] < k then
          L := C + 1
        else
          found := true;
    end;
  if found then
    writeln('Элемент найдет с индексом: ', C)
  else
    writeln('Элемент не найден');
end;  {BinarySearch}
 
Begin {Lab_1}
  SetArrayDim(n);
   ZapMass(a);                          // Заполнение массива
  writeln('Исходный массив:');         // Вывод исходного массива на экран
  VMass(a);
 
  Vstav(x);
 
  writeln('Отсортированный массив:'); // Вывод отсортированного массива на экран
  VMass(a);
 
  writeln('Введите искомое значение:');
  readln(k);
 
  BinarySearch(a,k);
End.  {Lab_1}
1
3 / 3 / 2
Регистрация: 21.12.2014
Сообщений: 100
30.03.2015, 17:42  [ТС]
Большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.03.2015, 17:42
Помогаю со студенческими работами здесь

Запросить дату у пользователя со слэшами
Возможно ли вообще такое в консольном режиме? &quot;Введите дату: dd/mm/yyyy&quot; Типа: cin &gt;&gt; dd; cout &lt;&lt; &quot;/&quot;; cin...

Запросить у пользователя решение примера
Здравствуйте! 11 задание получилось сделать, но вот с 12 возникли проблемы. print(&quot;Решите пожалуйста данный пример...

Запросить у пользователя имя файла
Помогите с кодом. Как написать программу чтобы в ней надо было прописывать вручную путь к файлу для открытия. Т.е. например у меня есть...

Как запросить дату рождения пользователя?
В приложении нужно запросить дату рождения пользователя, но нужно, чтобы он был старше 18 лет. Я видел, как на некоторых сайтах даты, где...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru