Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
VGvladoss101
0 / 0 / 2
Регистрация: 12.11.2017
Сообщений: 16
#1

Из двух отсортированных в убывающем порядке массивов получить новый массив, отсортированный в том же порядке - Turbo Pascal

12.11.2017, 19:47. Просмотров 141. Ответов 3
Метки нет (Все метки)

Народ,помогите пожалуйста, нужно из Из двух отсортированных в убывающем порядке массивов(одномерных) получить новый массив, отсортированный в том же порядке, я долго искал различные способы,пузырька и т.д.,но препод потребовал всё проще, через 2 массива,отсортировать их и совместить,а как...я не шарю,ненавижу масивы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2017, 19:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Из двух отсортированных в убывающем порядке массивов получить новый массив, отсортированный в том же порядке (Turbo Pascal):

Из двух отсортированных в убывающем порядке массивов получить новый массив, отсортированный в том же порядке
Из двух отсортированных в убывающем порядке массивов получить новый массив,...

Из двух отсортированных в убывающем порядке массивов получить новый массив, отсортированный в том же порядке
Народ помогите мне исправить вот этот код чтоб он правильно работал Program...

Записать числа двух упорядоченных массивов в массив С в том же порядке, не используя алгоритма сортировки.
Помогите решить задачу используя процедуры: Создать два одномерных массива А...

упорядочить массив в убывающем порядке.
Дана функция которая упорядочивает массив в возрастающем порядке. Надо её...

Написать процедуру , сортирующую массив в убывающем порядке
1. Написать процедуру , сортирующую массив в убывающем порядке. Восновной...

Получить отсортированный по неубыванию массив C, состоящий из элементов массивов A и B
Помогите решить вот эту программу на Паскале Пожалуйста!!!: Есть два...

3
Cyborg Drone
Модератор
5251 / 3118 / 2432
Регистрация: 17.08.2012
Сообщений: 10,072
15.11.2017, 22:07 #2
Лучший ответ Сообщение было отмечено VGvladoss101 как решение

Решение

Попроще и на скорую руку:
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
const n = 10;
  a: array[1..n] of integer = (99, 70, 70, 52, 44, 37, 36, 35, 20, 10);
  b: array[1..n] of integer = (87, 70, 69,  5,  5,  4,  3,  2,  1,  0);
var ia, ib, ic, i: integer;
    c: array[1..2*n] of integer;
begin
  ia := 1;
  ib := 1;
  ic := 0;
  for i := 1 to 2 * n do
    if (ia <= n) and (ib <= n)
      then begin
        if (a[ia] > b[ib])
          then begin
            c[i] := a[ia];
            inc(ia)
          end
          else begin
            c[i] := b[ib];
            inc(ib)
          end
      end
      else begin
        ic := i;
        break
      end;
  if ic < 2 * n
    then if ia <= n
      then for i := ic to 2 * n do
        begin
          c[i] := a[ia];
          inc(ia)
        end
      else for i := ic to 2 * n do
        begin
          c[i] := b[ib];
          inc(ib)
        end;
      writeln('Массив A:');
      for i := 1 to n do write(a[i]:3);
      writeln;
      writeln('Массив B:');
      for i := 1 to n do write(b[i]:3);
      writeln;
      writeln('Массив C:');
      for i := 1 to 2 * n do write(c[i]:3);
      writeln;
  readln
end.
1
VGvladoss101
0 / 0 / 2
Регистрация: 12.11.2017
Сообщений: 16
06.12.2017, 20:00  [ТС] #3
Спасибо большое,выручил
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3755 / 2452 / 2034
Регистрация: 22.11.2013
Сообщений: 6,821
06.12.2017, 22:45 #4
Лучший ответ Сообщение было отмечено Cyborg Drone как решение

Решение

Cyborg Drone,
ну ничего себе попроще
Pascal
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  while (ia<=n) and (ib<=n) do begin
    Inc(ic);
    if a[ia]>=b[ib] then begin
      c[ic]:=a[ia]; Inc(ia);
    end else begin
      c[ic]:=b[ib]; Inc(ib);
    end;
  end;
  while ia<=n do begin
    Inc(ic); c[ic]:=a[ia]; Inc(ia);
  end;
  while ib<=n do begin
    Inc(ic); c[ic]:=b[ib]; Inc(ib);
  end;
Добавлено через 8 минут
Условие в строке 27 совершенно лишнее
Pascal
27
if ic < 2 * n
Строки 10-11 обеспечивают выход из цикла, когда либо ia>n, либо ib>n, поэтому проверки в строке 28 вполне достаточно.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2017, 22:45
Привет! Вот еще темы с решениями:

Переписать все положительные числа файла в массив в том же порядке
Записаны 18 целых чисел. Переписать все положительные числа файла в массив в...

Дан массив А размера N. Не изменяя данный массив вывести номера его элементов в том порядке, в котором соответствующие элементы образуют возрастающую
помогите пожалуйста решить задачку по паскалю: Дан массив А размера N. Не...

Упорядочить в убывающем порядке элементы каждой строки матрицы
Дан двумерный массив вещественных чисел A.Напишите программу, которая...

Переписать в файл V все чётные положительные числа из файла в убывающем порядке
Сформировать файл W, состоящий из целых чисел. Переписать в файл V все чётные...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru