Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

icq: 260063504
По умолчанию

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

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

icq: 260063504
По умолчанию

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

три массива -- два заданных, размерностями 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
Репутация: 10
По умолчанию

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

Цитата:
Объединить их в один массив, включив второй массив между 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
Адрес: Stuttgart
Сообщений: 1,098
Репутация: 119

icq: 260063504
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два одномерных массива 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 01:15


11:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru