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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2013, 06:34   #1
Niklitel
Пользователь
 
Регистрация: 30.10.2013
Сообщений: 19
По умолчанию динамическая память для двумерного массива

помогите пожплуйста написать фрагмент программы выделение динамической памяти для двумерного массива таким образом
0 □
1 □ □
2 □ □ □
3 □ □
4 □
......
до н строк
Niklitel вне форума Ответить с цитированием
Старый 06.11.2013, 07:04   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

В псевдокоде вроде так:
Код:
size_of_line = 0;
1) Если n - четное, то
1.1) Для i от 0 до n делай
1.1.1) Если i < n/2 то size_of_line++;
1.1.2) Если i >= n/2 то size_of_line--;
1.1.3) array[i] = malloc(size_of_line);
Могу ошибаться, могу заблуждаться. Все возможно.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 06.11.2013, 07:21   #3
Niklitel
Пользователь
 
Регистрация: 30.10.2013
Сообщений: 19
По умолчанию

что-то не получается
Niklitel вне форума Ответить с цитированием
Старый 06.11.2013, 07:27   #4
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

язык то какой?
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 06.11.2013, 07:34   #5
Niklitel
Пользователь
 
Регистрация: 30.10.2013
Сообщений: 19
По умолчанию

язык с++ .....
Niklitel вне форума Ответить с цитированием
Старый 06.11.2013, 08:04   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,883
По умолчанию

Немного сложновато, но в принципе решает что надо:
Код:
procedure TMyForm.ButtonClick(Sender: TObject);
var
  n, i, j: integer;
  ar: array of array of Byte;
  s : string;
begin
  if TryStrToInt(InputBox('', 'input length', ''), n) and (n in [1..255]) then
  begin
    SetLength(ar, n);
    for I := 0 to n - 1 do
      SetLength(ar[i], n div 2 - Abs(i - n div 2) + 1 * Ord(ODD(n) or (i < (n div 2))));
    // далее уже проверка
    s := '';
    for I := 0 to n - 1 do
    begin
      for j := 0 to Length(ar[i]) - 1 do
        s := s + Inttostr(ar[i, j]) + ' ';
      s := s + #10#13;
    end;
    ShowMessage(s);
  end;
end;
То, что Вы не указали язык - Ваши проблемы, я решил на том, что мне сподручнее.

ПС. как обычно, написал пост после того, как 2 часа назад открыл тему
Переписывать на плюсы не буду работа стоит
phomm на форуме Ответить с цитированием
Старый 06.11.2013, 08:45   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int **a=new int*[];
for(int i=0;i<n/2;i++) a[i]=new int[i+1];
for(;i<n;i++) a[i]=new int[n-i+1];
Если не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая память для двумерного массива Bugrimov Общие вопросы C/C++ 16 28.10.2012 03:44
нужно написать программу для двумерного массива caught.let Паскаль, Turbo Pascal, PascalABC.NET 3 18.03.2012 11:28
Динамическая память, заполнение массива zink Общие вопросы C/C++ 4 18.02.2012 20:46
Динамическая память I.C.E Общие вопросы C/C++ 15 16.01.2011 19:27
Динамическая память liver1981 Общие вопросы C/C++ 5 22.04.2009 09:16