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

Колцевой список

31.05.2009, 20:48. Показов 1363. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен код программы для задания:

Массив целых чисел х[1]... х[п] «свернуть в кольцо» и повернуть вправо на К позиций (К может быть больше п).

Заранне спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2009, 20:48
Ответы с готовыми решениями:

Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1 но не входят в список L2
Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1 но не входят в список...

Имеется список женихов и список невест. Объединить эти списки в список пар с учетом требований партнерам
Имеется список женихов и список невест. Каждая запись списка содержит пол, имя, возраст, рост, вес, а также требования к партнеру:...

программа которая берет список и создает список другой из этого же списка + тот же список без последнего элемента
надо написать программу которая берет список и создает список другой из этого же списка + тот же список без последнего элемента к...

19
63 / 64 / 13
Регистрация: 08.06.2008
Сообщений: 243
31.05.2009, 21:00
За $20 договоримся
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 21:05  [ТС]
Да уж... Если бы они были я бы заказал весь курсач давно!!!!!!!!!
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.05.2009, 21:06
«свернуть в кольцо»
Это создать кольцевой список?
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 21:20  [ТС]
Да вот сам почти нифига не могу разобраться! Ну скорее всего что действительно кольцевой список!

Добавлено через 8 минут 44 секунды
Вот какая фигня есть. Но не робит как надо!
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
program jopa;
uses crt;
type mas=array[1..1000] of integer;
var m:mas;k,tmp,i,n:integer;
begin
clrscr;
writeln('vvedi n');
readln(n);
writeln('vvedi ',n,' elementov massiva');
for i:=1 to n do
readln(m[i]);
writeln('vvedi kolichestvo pozicii sdviga');
readln(k);
for i:=1 to k do
begin
tmp:=n;
for i:=n downto k do
m[i]:=m[i-1];
m[1]:=tmp
end;
for i:=1 to n do
write(m[i]:3);
readln;
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.05.2009, 21:32
Вот какая фигня есть. Но не робит как надо!
А где здесь кольцевой список?
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 21:38  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
А где здесь кольцевой список?
Это была первая попытка сделать эту прогу! Как делать по другому я не знаю! Тут работакет только на перестановку одного элемента!( Как сделать еще я без понятия!

Добавлено через 1 минуту 59 секунд
А переход на один идет и то только из за того что тупо меняются первый и последний элемент местами!
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
31.05.2009, 21:43
У Вас спросили где тут список ? Вы наверное не догадываетесь, что списки это такая динамическая структура, в которой выделение памяти происходит во время выполнения программы, а Вы написали просто с использование статических массивов.
Читайте литературу, задание не очень сложное, для Вас день работы.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.05.2009, 21:45
Массив целых чисел х[1]... х[п] «свернуть в кольцо» и повернуть вправо
Вот такое вольное изложение задания есть неуважение к тем, кого просите помочь. А сами на элементарные вопросы не можете ответить. Вы сначала разберитесь с заданием, а потом отвлекайте людей от дела.
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 21:51  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Вот такое вольное изложение задания есть неуважение к тем, кого просите помочь. А сами на элементарные вопросы не можете ответить. Вы сначала разберитесь с заданием, а потом отвлекайте людей от дела.
Просто имеется проблема! Предмет ведет преподователь Дуб Дубом! Ни одно из 140 заданий он объяснить не смог! Вот так и делаем на обум! Как получится!Поймите и меня правильно если бы я понимал, то помощи бы не просил! Поэтому ищу помощи у знающих людей!
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.05.2009, 21:53
Но тема-то какая-то должна быть обозначена. Либо это линейные массивы, либо списки, как динамические структуры данных.
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 22:30  [ТС]
ХЕЛП:'(
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
31.05.2009, 22:31
Puporev, Это точно списки, такие задания обычно на "Динамику" дают.
Gothar
Алгоритм прост:
1)Организовываем ввод массива;
2)Создаём кольцевой список (поищите на форуме,в интернете о создании списков, там есть)
3)Просим ввести "K"
4)Т.к. во время создания кольцевого списка мы запоминали адрес первого элемента, то производим движение указателя "вправо" меняя местами элементы (Внимание, советую запомнить адрес последнего элемента, т.к. именно его надо будет поставить на место первого элемента). Менять элементы следует следующим образом:"берём значение данного элемента, если он первый то вставляем на его место значение последнего элемента списка, а если он не первый, то вставляем значение из переменной, в которую на прошлом шаге мы запомнили значение предыдущего элемента".Всё это в цикл и производим K раз.
Вроде всё. Можно и по-другому менять местами элементы, это как один из вариантов, со стороны памяти он "некрасив" (всё-таки 2-е лишние переменные...).
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 22:32  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Но тема-то какая-то должна быть обозначена. Либо это линейные массивы, либо списки, как динамические структуры данных.
ДА чёрт его знает! Вообще смысл задания перемещение элементов!
Пример:
дано:12345
при сдвиге на 1 получается 51234
при 2 = 45321
при 3 = 34521

и т.д.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
31.05.2009, 22:33
такие задания обычно на "Динамику" дают.
У меня где-то валялась такая для линейных массивов. Обычный сдвиг, при k>n берем k=k mod n.
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
31.05.2009, 22:35
Ну, мне с динамикой больше нравится работать, по-этому я и предположил, что задание по "Динамике".
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 22:37  [ТС]
Цитата Сообщение от lexus_ilia Посмотреть сообщение
Puporev, Это точно списки, такие задания обычно на "Динамику" дают.
Gothar
Алгоритм прост:
1)Организовываем ввод массива;
2)Создаём кольцевой список (поищите на форуме,в интернете о создании списков, там есть)
3)Просим ввести "K"
4)Т.к. во время создания кольцевого списка мы запоминали адрес первого элемента, то производим движение указателя "вправо" меняя местами элементы (Внимание, советую запомнить адрес последнего элемента, т.к. именно его надо будет поставить на место первого элемента). Менять элементы следует следующим образом:"берём значение данного элемента, если он первый то вставляем на его место значение последнего элемента списка, а если он не первый, то вставляем значение из переменной, в которую на прошлом шаге мы запомнили значение предыдущего элемента".Всё это в цикл и производим K раз.
Вроде всё. Можно и по-другому менять местами элементы, это как один из вариантов, со стороны памяти он "некрасив" (всё-таки 2-е лишние переменные...).
Вот он код с move пожалуйста укажите на косяки!

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
program jopa;
uses crt;
type mas=array[1..1000] of integer;
var m:mas;k,tmp,i,n:integer;
begin
clrscr;
writeln('vvedi n');
readln(n);
writeln('vvedi ',n,' elementov massiva');
for i:=1 to n do
readln(m[i]);
writeln('vvedi kolichestvo pozicii sdviga');
readln(k);
for i:=1 to k do
begin
tmp:=n;
for i:=n downto k do
{m[i]:=m[i-1];}
Move(m[2], m[i], (n - 1)* n);
m[1]:=tmp;
end;
for i:=1 to n do
write(m[i]:3);
readln;
end.
Добавлено через 53 секунды
Он выводит совсем не то что надо! тоесть не работает вообще, если откровенно!
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
31.05.2009, 22:39
Gothar, Мдя, всё что я сказал было пропущено мимо ушей, ну и ладно, Вы хотя-бы попытайтесь поискать на Нашем форуме про списки (ну или на крайняк в интернете). А потом добавьте в код 1-ну процедуру (4-ый пункт) и всё, задание готово.
0
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 9
31.05.2009, 22:52  [ТС]
Цитата Сообщение от lexus_ilia Посмотреть сообщение
Gothar, Мдя, всё что я сказал было пропущено мимо ушей, ну и ладно, Вы хотя-бы попытайтесь поискать на Нашем форуме про списки (ну или на крайняк в интернете). А потом добавьте в код 1-ну процедуру (4-ый пункт) и всё, задание готово.
Простите конечно, но мозг умер!!!

Я не могу вообще вкурит.

Добавлено через 4 минуты 58 секунд
Не могу себя не ругать! Горит курсач а сделать его не могу))))))))))) Как же не ругать то себя)!

Добавлено через 3 минуты 58 секунд
Цитата Сообщение от lexus_ilia Посмотреть сообщение
Gothar, Мдя, всё что я сказал было пропущено мимо ушей, ну и ладно, Вы хотя-бы попытайтесь поискать на Нашем форуме про списки (ну или на крайняк в интернете). А потом добавьте в код 1-ну процедуру (4-ый пункт) и всё, задание готово.
ПОжалуйста помогите!!!!!!!!!! Серьезно, немогу просто понять н и ч е г о
0
 Аватар для diliana
93 / 26 / 1
Регистрация: 19.05.2009
Сообщений: 138
31.05.2009, 23:32
Gothar, на самом деле списки можно реализовать не только динамически, но и статически на основе массива - то есть первый элемент массива - в первой ячейке массива. второй элемент - во второй ячейке и т.д.

при добавлении элемента - выполнить операцию перемещения ячеек массива для освобождения ячейки i для нового элемента - для этого сдвигают вправо все элементы на одну ячейку. При удалении все делается наоборот - сдвиг влнво.

Это я в лекции посмотрела, только как это реализовать в коде не знаю.

Добавлено через 9 минут 3 секунды
А вот еще нашла второй способ - статическая реализация списка на массиве с указателями

обьявляетчся структура так

Delphi
1
2
3
4
5
6
7
8
type
Tlist=record
  data: {твои данные};
  next: integer;
end;
 
var
MasList: array [0..n] of Tlist;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2009, 23:32
Помогаю со студенческими работами здесь

Создать список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в список L2
Описать процедуру, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в...

Создать список L3 из элементов, входящих и в список L1 и в список L2
создать список л3 из элементов входящих и в список л1 и в список л2

Составить базу данных об учащихся. Составить программу позволяющую выводить полный список учащихся, список выбравших предмет, список лучших учеников
Составить базу данных об учащихся, предусмотрев поля: Ф.И.О., предметы по выбору, экзаменационные оценки по каждому из них. Составить...

Разделить исходный список на два списка: список чисел из диапазона [a,b] и список чисел не из заданного диапазона
Создайте приложение, которое разделит исходный список из вещественных чисел на два списка: список чисел из диапазона и список чисел не из...

Создать список L3 из элементов, которые входят в список L1 и не входят в список L2
Задание : Создать список L3 из элементов, которые входят в список L1 и не входят в список L2, вернуть длину нового списка. Вот что...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru