Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объединение массивов, Ребят Помогите плз 
:(
    Опции темы
LeNes
Дата 24.5.2006, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



задача: Слить два массива А (элементы равны 1,3,5 и т.д. нечетные) и В (все элементы равны 2) по 40
элементов  в массив С из 80 элементов так, чтобы вначале шли элементы меньше среднего значения по всему массиву С. Вывести массивы в виде матриц по 10 элементов в строке.

со вторым массивом я справляюсь)))
а вот с реализациеи всеи программы я чтото туплю в доску
Помогите плз!!! 
PM MAIL   Вверх
Foley
Дата 24.5.2006, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фсемба Яцца
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 31.1.2006
Где: Россия, Арх.обл

Репутация: нет
Всего: 7



Тебе в алгоритмы надо с этой темой... 

Это сообщение отредактировал(а) Foley - 24.5.2006, 22:56
PM MAIL ICQ   Вверх
Albinos_x
Дата 24.5.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 2
Всего: 108



а ещё лучше в центр помощи smile 
http://forum.vingrad.ru/index.php?showforum=142 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Snowy
Дата 25.5.2006, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 4
Всего: 484



Модератор: Перенесено из Delphi 
PM MAIL   Вверх
LeNes
Дата 28.5.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



неужели не кто не сможет помочь???? 
PM MAIL   Вверх
skyboy
Дата 28.5.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



значит так... среднее по массиу С расчитывать влом, хотя ясно, что сумма элементов первого массива - сумма арифметической прогрессии: (2*40 - 1 + 1)∙40/2 = 1600 , сумма членов второго ряда: 2∙40=80. 
общая сумма членов ряда С - 1680. Что при делении на количество элементов=80 даёт среднее по массиву С значение 1680/80=168/8=21. Следовательно, в массиве С сначала должны идти числа, меньшие 21. В этом варианте могу предложить след. варианты:
1) сначала идёт чередование элементов А и В в результирующем массиве С, при достижении последнего члена массива А, меньшего 21, "вываливаются" все члены массива В, которые ещё в наличии, а потом "вываливается" "остаток" массива В:
С= (1,2,3,2,5,7,2,9,2,11,2,13,2,15,2,17,2,19,2,2,2,2.....2,21,23,25,27....79)
2) Запись говорит сама за себя:
С=(1,2,2,2,2.....2,3,5,7,9,11,13,15...79)
То есть реализуется упорядоченный результирующий массив, в котором при любом условии "сперва идут числа, меньшие какого-то значения", и не важно, равно это самое "значение" величине среднего арифметического по массиву С, или, скажем 1021... 
3) сначала "вываливаются" все элементы массива А, меньшие 21, потом все элементы массива В, потому как они меньше 21, потом - "остаток" массива А:
С= (1,3,5,7,9,11,13,15,17,19,2,2,2,2,2...2,21,23,25,27...79)
Вобщем выбери способ слияния и - вперёд. 
з.ы. Если я неправильно понял постановку, просьба сообщить  smile  
PM MAIL   Вверх
LeNes
Дата 28.5.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



с математическои постановкои ты канешна круто разобрался...
но все бы класс...
вот тока я не могу это реализовать на делфи...
ну не могу и все ...вот ступор у меня на эту задачу!(((
Ты не смог бы код выложить плз!? 
PM MAIL   Вверх
skyboy
Дата 29.5.2006, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



Так какой метод слияния? Все три и на каждый - по программе? Не могу я полчаса положить - я диплом пишу... Вот определись с выбором - помогу.
P.S. Вообще-то это должно было бы быть задано в постановке задачи - можешь грузануть препода, что, мол, не указано, что делать с двойками - куда их пихать... ;) 
PM MAIL   Вверх
LeNes
Дата 29.5.2006, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Первым методом!!!!
только Два массива В и А должны задаваться в виде матрицы размерностью 4X10
а последний массив С в виде строки!!!
я тебя уже люблю!!!)
 smile   
PM MAIL   Вверх
LeNes
Дата 29.5.2006, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



Не я главное весь семестр ходил на комп.науки выполнял быстрее всех...
Осталось четыре недели до конца наших занятий...
Ко мне подошли девченки и попросили больше не ходить на комп.науки... сказали ну мол ты понимаешь нам тоже зачет нужен... а ты мол и так вперед всех убежал... на 9 работ... тебе он так поставит.. ну а я что (дурак).. перестал ходить... прихожу с зачеткои.. а эти су**ки по сетке с моего компа скачали все работы, немного модифицировали и выдали за свои.... и еще вперед ушли...
Ну я ему сую зачетку а препод говорит... ты мол отстал.. тебе догонять надо... на говорит вот работка сделаешь и все зачет... а я как взьелся на него... посрались с ним... и не стоит у меня теперь на эту програмку... могу написать но нет желания... просто может психологически чтото?! просто беру ручку... начинаю код набрасывать... и ступор в мозгу...
Спасибо за совет, я ему еще и эти двоикм припомню!!!!!!))) 
PM MAIL   Вверх
skyboy
Дата 29.5.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



Код

var A,B:array[1..4,1..10] of byte;
    i,j:byte;
    C:array[1..80] of byte;
begin
for i:=1 to 4 do
 for j:=1 to 10 do
  A[i,j]:=((i-1)*10+j)*2-1;
for i:=1 to 4 do
 for j:=1 to 10 do
  B[i,j]:=2;
for i:=1 to 10 do
 C[2*i - 1]:=A[1,i];
for i:=1 to 10 do
 C[2*i]:= B[1,i];
for i:=10 to 40 do
 C[i + 10]:=B[i div 10,i mod 10 + 1];
for i:=10 to 40 do
 C[i + 41]:=A[i div 10 + 1,i mod 10 + 1];
writeln('Matrix A:');
for i:=1 to 4 do
 begin
  for j:=1 to 10 do write(A[i,j],#9);   // символ табуляции - для промежутков
  writeln;
 end;
writeln('Matrix B:');
for i:=1 to 4 do
 begin
  for j:=1 to 10 do write(B[i,j],#9);   // символ табуляции - для промежутков
  writeln;
 end;
writeln('Press ENTER to see matrix C...');
readln;
writeln('Matrix C:');
for i:=1 to 8 do
 begin
  for j:=1 to 10 do write(C[(i-1)*10+j],#9);   // сивол табуляции для промежутков
  writeln;
 end;

writeln('Please press ENTER to exit...');
readln;
end.

Оно? smile 
Цитата(LeNes @  29.5.2006,  00:48 Найти цитируемый пост)
могу написать но нет желания

- сам себя заклинил? 

Это сообщение отредактировал(а) skyboy - 29.5.2006, 00:58
PM MAIL   Вверх
LeNes
Дата 29.5.2006, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.5.2006

Репутация: нет
Всего: нет



оно!!!!!
Большое Спасибо!!!!!!
Было бы у меня больше сотни мессаг я бы тебе респект на репутаций поставил!!
Зы мнои не заржавеет!!! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.