Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2012, 12:44   #1
dmitriy20104
Пользователь
 
Регистрация: 21.06.2012
Сообщений: 36
Сообщение ПАСКАЛЬ.Заданы два одномерных массива.Объединить их в один массив, включив второй массив между K-ым и (K+1)-м элементами первого.

Решите, пожалуйста, задачку.
Заданы два одномерных массива: массив А размера M и массив В размера N. Объединить их в один массив, включив второй массив между K-ым и (K+1)-м элементами первого (К-задано).
dmitriy20104 вне форума Ответить с цитированием
Старый 05.07.2012, 13:09   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Ну, решил...
Ничего сложного нет.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 05.07.2012, 13:22   #3
dmitriy20104
Пользователь
 
Регистрация: 21.06.2012
Сообщений: 36
По умолчанию

Попрошу написать код или хотя бы часть.
dmitriy20104 вне форума Ответить с цитированием
Старый 05.07.2012, 14:00   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Нет уж, увольте...
Алгоритмом поделюсь, раз для вас это настолько сложно...

три массива -- два заданных, размерностями M и N соответственно, и результирующий размерности M+N.
В цикле от 1 до введенного K переписываете в результирующий массив элементы из первого массива, затем в цикле от K+1 до K+N -- элементы второго массива, потом в цикле от K+N+1 до N+M -- остаток первого массива. Маленькая подсказка: помимо переменной-индекса цикла вам понадобится еще одна переменная-индекс для результирующего массива.
Да, было бы еще неплохо сделать проверку, не превышает ли введенное число K размерность первого массива.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 05.07.2012 в 14:19.
Mandrivnyk вне форума Ответить с цитированием
Старый 05.07.2012, 17:35   #5
NoxUS_1067
Новичок
Джуниор
 
Регистрация: 05.07.2012
Сообщений: 3
По умолчанию

Всё действительно легко
На входе 2 массива - на выходе 1, и того 3 массива. Берёшь 1 массив и начинаешь заполнять им результирующий массив (3) пока не выполниться условие (достижение К-ого элемента). Затем пихаешь массив 2 и когда тот закончится продолжаешь заполнять 3 массив первым.
Это же новейший BORLAND DELPHI 7! Это gочти так же круто как перфокарты. Все тёлки становятся моими, когда я реализую нерекурсивный QSort!
NoxUS_1067 вне форума Ответить с цитированием
Старый 05.07.2012, 20:54   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Объединить их в один массив, включив второй массив между K-ым и (K+1)-м элементами первого (К-задано).
Примерно так:
Код:
var c:array[1..m+n] of тип;
 i:integer
...
 for i:=1 to k do c[i]:=a[i];
 for i:=1 to n do c[i+k]:=b[i];
 for i:=k to m do c[i+n]:=a[i];
...
Не проверял, но думаю отсюда можно отталкиваться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.07.2012, 10:26   #7
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Не проверял, но думаю отсюда можно отталкиваться.
Последний цикл не от k, а от k+1.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 06.07.2012, 20:44   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Говорю же - не проверял )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два одномерных массива A и B. Сформировать два новых массива. Паскаль. Где ошибка в коде? Tomny Помощь студентам 1 27.03.2011 16:47
как можно объединить два массива в один новый? sqwerty Общие вопросы C/C++ 3 11.06.2009 23:50
Паскаль.Двумерные массивы,объединить два массива в один с сортировкой столбцов по возрастанию. valord Помощь студентам 6 02.06.2009 11:13
Как объединить два массива в один. TheWanderer Общие вопросы C/C++ 2 10.11.2008 00:15