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

Сортировка массива

16.09.2009, 02:29. Показов 1274. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: соеденить 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
program massivchiki;
uses crt;
const q=10;
var A: array [1..q] of byte;
    B: array [1..q] of byte;
    c: array [1..20] of byte;
    i,j,k: byte;
    s:string[20];
begin
 clrscr;
 randomize;
 {zabivaem dva misava random chislami}
 for i:=1 to q do
   A[i]:=random(9)+1;
 write('elementi 1-ogo massiva: ');
 for i:=1 to q do
  write(a[i],' ');
 writeln;
 writeln;
 
 for i:=1 to q do
  b[i]:=random(9)+1;
 write('elementi 2-ogo massiva: ');
 for i:=1 to q do
  write(b[i],' ');
 writeln;
 
 {soedinenie massiva A i B}
 for i:=1 to q do
  begin
   c[i]:=a[i];
   c[i+10]:=b[i];
  end;
 writeln;
 write('polychivshiisia massiv: ');
 for i:=1 to q*2 do
  write(c[i],' ');
 {sortiryem polychivshiisia massiv}
 for i:=1 to q+9 do
 for j:=1 to q+9 do
  begin
   if c[j]>c[j+1] then
    begin
     k:=c[j];
     c[j]:=c[j+1];
     c[j+1]:=k;
    end;
  end;
 writeln;
 writeln;
 write('otsortirovani polychivshiisia massiv: ');
 for i:=1 to q*2 do
  write(c[i],' ');
readkey;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.09.2009, 02:29
Ответы с готовыми решениями:

Одномерные массивы. Вставка, удаление элементов массива. Перестановка элементов массива. Сортировка массива методом пузырька
Помогите пожалуйста! Дан массив, состоящий из N букв латинского алфавита а) Заполнить массив датчиком случайных чисел б)...

Сортировка массива. Упорядочить нечетные элементы массива по возрастанию методом обмена
Упорядочить одномерный массив по возрастанию, методом обмена. (по возрастанию должны быть толбко нечётные элементы)

Сортировка вставками «с конца массива» последовательным поиском с начала массива
Сортировка вставками «с конца массива» последовательным поиском с начала массива.

12
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
16.09.2009, 02:37
если тебе не хочеться возиться с этим,то можешь записать в массив с полученное,и сравнивать.а можно это сделать тогда,когда ты пишешь два массива в массив с.но там подумать надо)))
0
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 10
16.09.2009, 02:55  [ТС]
Хотелось бы увидеть примеры кода, просто идея сравнивать элементы и скопировать неповторяющиеся елементы в отдельный масив потерпела неудачу
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.09.2009, 08:02
Задание: соеденить 2 массива, отсортировать в порядке возростания
Вы просто соединили, а потом сортировали, а может имелась ввиду сортировка слиянием, когда объединение и сортировка происходят одновременно?

Добавлено через 8 минут
и убрать повторяющиеся элементы.
Убрать все которые встречаются более 1 раза, или все повторы, кроме первого элемента,
например если 2 1 1 1, то останется только 2, или 2 1?

Добавлено через 11 минут
Вот так удаление повторов. А о сортировке слиянием подумайте, хотя если условие стоит именно так, то и не обязательно.
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
program massivchiki;
uses crt;
const q=10;
var A: array [1..q] of byte;
    B: array [1..q] of byte;
    c: array [1..20] of byte;
    n,i,j,k: byte;
    s:string[20];
begin
 clrscr;
 randomize;
 {zabivaem dva misava random chislami}
 writeln('elementi 1-ogo massiva: ');
 for i:=1 to q do
  begin
   A[i]:=random(9)+1;
   write(a[i],' ');
  end;
 writeln;
 writeln;
 writeln('elementi 2-ogo massiva: ');
 for i:=1 to q do
  begin
   b[i]:=random(9)+1;
   write(b[i],' ');
  end;
 writeln;
 writeln;
 {soedinenie massiva A i B}
 for i:=1 to q do
  begin
   c[i]:=a[i];
   c[i+q]:=b[i];
  end;
 writeln('polychivshiisia massiv: ');
 n:=2*q;
 for i:=1 to n do
 write(c[i],' ');
 writeln;
 writeln;
 {sortiryem polychivshiisia massiv}
 for i:=1 to n-1 do
 for j:=1 to n-1 do
  begin
   if c[j]>c[j+1] then
    begin
     k:=c[j];
     c[j]:=c[j+1];
     c[j+1]:=k;
    end;
  end;
 writeln('otsortirovani polychivshiisia massiv: ');
 for i:=1 to n do
 write(c[i],' ');
 writeln;
 writeln;
 {udalenie povtorov}
 i:=2;{начинаем со 2-го элемента}
 while i<=n do {пока не конец массива}
 if c[i]=c[i-1] then{если элемент=предыдущему}
  begin
   for j:=i to n-1 do{сдвигаем конец массива на 1 влево}
   c[j]:=c[j+1];
   n:=n-1;{уменьшаем размер массива}
  end
 else i:=i+1;{иначе смотрим следующий элемент}
 writeln('massiv bez povtorov: ');
 for i:=1 to n do
 write(c[i],' ');
readkey;
end.
0
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 10
16.09.2009, 11:36  [ТС]
Puporev, о выполнение сортировки слиянием 2-ух массивов ничего в задание не говорится, поэтому думаю проще будет выполнить ее после соеденения двух массивов.
Спасибо конечно что помогли, но помоему тут ошибка программа просто изменяет размер масива удаляя последний элемент -

Хотелось бы исправить
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.09.2009, 12:14
Это Вы что-то напакостили в моем коде, все работает ОК. Горе мне с вами.
Вложения
Тип файла: rar DVA_MASS.rar (554 байт, 14 просмотров)
1
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 10
16.09.2009, 17:47  [ТС]
Спасибо большое за помощь
Но перечитав задание, меня ввела в заблуждение фраза "Сформировать массив, элементы которого являются пересечениеем указаных массивов, и расположить его элементы по возростанию." Пересечение массивов, это вроде бы не так как я соеденил масив А и В, а как-то подругому, понять не могу)) либо что-то упустил на лекциях, выручите пожалуйста
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.09.2009, 18:03
Пересечение массивов, это в принципе пересечение множеств, наверное в школе проходили, не помните, почитайте.

Добавлено через 7 минут
Но перечитав задание
К сожаления я не могу его перечитать, поэтому ничем не могу помочь.
0
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 10
16.09.2009, 18:04  [ТС]
Тоесть в моем варианте программы соединение массивов выполнено не по заданию? И если не трудно покажите пример кодом как это делается, а то даже не представляю как это происходить-то будет .
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.09.2009, 18:07
Дак где полное, нормальное задание? А то кроме Ваших измышлений я пока ничего не видел.
1
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 10
16.09.2009, 18:09  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
К сожаления я не могу его перечитать, поэтому ничем не могу помочь.
Даны два одномерных массива из N элементов. Сформировать массив, элементы которого являются пересечением указаных массивов, и расположить его элементы по возростанию.Одинаковые значения заносить 1 раз. Если пересечение массивов есть пустое множество, то выдать соответствующее текстовое сообщение.

Первый раз делал программу по словам одногруппника только щяс нашел оригенал задания, поэтому вышла такая накладочка, и теперь не могу разобраться с пересечением массивов =\
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.09.2009, 18:34
Не переписывай, копируй, а то опять работать не будет.
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
program massivchiki;
uses crt;
const n=20; {по условию N}
var a,b:array [1..n] of byte;
    c: array [1..2*n] of byte;
    i,j,k,q,l: byte;
begin
 clrscr;
 randomize;
 {zabivaem dva misava random chislami}
 writeln('elementi 1-ogo massiva: ');
 for i:=1 to n do
  begin
   A[i]:=random(20);
   write(a[i],' ');
  end;
 writeln;
 writeln;
 writeln('elementi 2-ogo massiva: ');
 for i:=1 to n do
  begin
   b[i]:=random(20);
   write(b[i],' ');
  end;
 writeln;
 writeln;
 {soedinenie massiva A i B}
 q:=0;{ищем совпадающие элементы в обоих массива=пересечение, но только по 1 разу}
 for i:=1 to n do
 for j:=1 to n do
 if a[i]=b[j] then{если совпали}
  begin
   k:=0;
   for l:=1 to q do{проверяем есть ли в новом массиве}
   if a[i]=c[l] then k:=k+1;
   if k=0 then{если нет}
    begin
     q:=q+1;{увеличивем массив}
     c[q]:=a[i];{заносим новый элемент}
    end;
  end;
 writeln('polychivshiisia massiv: ');
 for i:=1 to q do
 write(c[i],' ');
 writeln;
 writeln;
 {sortiryem polychivshiisia massiv}
 for i:=1 to q-1 do
 for j:=1 to q-1 do
  begin
   if c[j]>c[j+1] then
    begin
     k:=c[j];
     c[j]:=c[j+1];
     c[j+1]:=k;
    end;
  end;
 writeln('otsortirovani polychivshiisia massiv: ');
 for i:=1 to q do
 write(c[i],' ');
 writeln;
 writeln;
readkey;
end.
0
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 10
16.09.2009, 19:59  [ТС]
Отлично! Большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.09.2009, 19:59
Помогаю со студенческими работами здесь

Сортировка массива вставками с конца массива
Дано натуральное число N (1&lt;=N&lt;=100), целочисленный линейный массив a0, a1, …, aN-1. Эле-менты массива заполняются случайными целыми...

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array of integer; Var i,b,n,j,a:...

Сортировка массива
Помогите пожалуйста решить задачу . Уже 3 день парюсь над ней!!! Нужно в массиве выбрать любой эллемент массива.И отсортировать массив...

Сортировка массива
Задан двумерный массив A. В строке с номером n(число ввести с клавиатуры) расположить по возрастанию четные элементы, стоящие на четных...

сортировка массива
в массиве целых чисел,заданных в диапозоне отсортировать по возрастанию только отрицательные значения массив одномерный


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru