IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Разбиение и сортровка одномерного массива
Slipknot
сообщение 27.10.2006 18:34
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Дан массив X(N) (N<=60) причём кол-во элементов кратно 3. Разбить массив на 3 части и в каждой поменять наибольший элемент с наименьшим blink.gif blink.gif blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 14)
мисс_граффити
сообщение 27.10.2006 18:40
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


что не получается?
что пробовал?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Slipknot
сообщение 27.10.2006 20:07
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


У меня напряг как раз с этим РАЗБИТИЕМ
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Reflex
сообщение 27.10.2006 20:13
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


Кхм...
странно казалось бы разбивать то и не надо просто хранишь начало первого и последнего члена нужной части


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Slipknot
сообщение 27.10.2006 20:15
Сообщение #5





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Ну так как найти концы этих частей ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Reflex
сообщение 27.10.2006 20:18
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


ну смотри у тебя в массиве 3n элементов
тогда первая часть - 0_n-1, вторая- n_2n-1, третья 2n_3n-1

Сообщение отредактировано: Reflex - 27.10.2006 20:18


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 27.10.2006 20:18
Сообщение #7


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


количество элементов ты знаешь => можешь посчитать, сколько будет в каждой части.
допустим, у нас 9 элементов, в каждой части по три.
первая часть (индексы): 1,2,3. вторая часть: 4,5,6. третья: 7,8,9.
то есть хранить надо 4 и 7.
а еще лучше - хранить только размер каждой части.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Reflex
сообщение 27.10.2006 20:19
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


помоему массив удобнее в этом случае с 0 номеровать


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Slipknot
сообщение 27.10.2006 20:21
Сообщение #9





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Размер каждой части - это круто, ну допустим их там девять эл-тов - размер части 3, их - 60 размер части - 20
и как же это по вашему в проге рассчитать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Reflex
сообщение 27.10.2006 20:26
Сообщение #10


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


пусть n - количество элементов
размер части равен n div 3
значит первый элемент первой части - 0
последний элемент первой n div 3 - 1
второй - n div 3 => 2*(n div 3)-1
третmей 2*(n div 3)=> n-1

Сообщение отредактировано: Reflex - 27.10.2006 20:27


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Reflex
сообщение 27.10.2006 20:40
Сообщение #11


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


 program Slipknot
var x : array [ 1..60 ] of integer;
n : integer;
size : integer;
min, min_id, max, max_id : integer;

procedure change(st, f : integer);
var i : integer;
begin
min_id:=st;
max_id:=st;
for i:= st to f do begin
if x[i]>x[max_id] then max_id:=i;
if x[i]<x[min_id] then min_id:=i;
end;
i:=x[min_id];
x[min_id]:=x[max_id];
x[max_id]:=i;
end;

var i:integer;
begin
read(n);
for i:= 1 to n do
read(x[i]);
size:=n div 3;
change(1,size);
change(size+1, 2*size);
change(2*size+1,n);
for i:= 1 to n do
write(x[i],' ');
readln;
readln;
end.

Вот готовый код, откомментируй его.


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.10.2006 21:07
Сообщение #12


Гость






Цитата
Вот готовый код, откомментируй его.
Хочешь, я откомментирую? Он нерабочий:

Цитата
6
1
2
3
4
5
6
2 1 4 3 6 5
Последнее китайское предупреждение: Будь добра проверять программы ПЕРЕД выкладыванием на форум...
 К началу страницы 
+ Ответить 
Malice
сообщение 27.10.2006 21:16
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(volvo @ 27.10.2006 22:07) *

Хочешь, я откомментирую? Он нерабочий:

А почему, извините ? Вроде все ок.
123456 - -> [12][34][56] -> поменяли мин и мах ->[21][43][65]. Так и есть..
Ps Не, ну наплел конечно, но работает ;)
pps шутка
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Slipknot
сообщение 27.10.2006 22:04
Сообщение #14





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Спасибо give_rose.gif
Всё работает замечательно give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Reflex
сообщение 28.10.2006 0:11
Сообщение #15


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

Репутация: -  0  +


Volvo читай условие внимательно!


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 11:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"