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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 10:56   #1
minimo71
 
Регистрация: 04.10.2010
Сообщений: 7
По умолчанию 2D массив, заполнение

Имеется массив 10х10, необходимо заполнить его так, как показано на картинке (извините за примитивность, сделал в Excel'e)


Хоть убей, никак не могу придумать как это сделать (идея конечно есть, но вот реализовать в PASCALe не получается).

Подскажите, пожалуйста!

Ах да.. код всей программы не обязателен, мне вполне хватит только этой "заполнялки".
minimo71 вне форума Ответить с цитированием
Старый 12.11.2010, 10:58   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Двумя циклами можно . Сначала ступеньки вниз до 5-ки. Потом ступеньки вверх с 6-ки до десятки.
Впринципе и одним можно - это же зеркальное отражение. Рассматривай не как массив, а как два массива, просто пересчитывай индекс.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.11.2010, 11:00   #3
minimo71
 
Регистрация: 04.10.2010
Сообщений: 7
По умолчанию

да не дурак, сам понимаю что как-то так, вот только не могу придумать как это всё кодом написать..
minimo71 вне форума Ответить с цитированием
Старый 12.11.2010, 13:15   #4
esculapweb
 
Аватар для esculapweb
 
Регистрация: 11.05.2010
Сообщений: 3
По умолчанию

можно вот так
Код:
Sub ступеньки()

Dim стартовая_строка As Integer, стартовый_столбец As Integer, i As Integer

Application.ScreenUpdating = False

стартовая_строка = 4
стартовый_столбец = 1

With ActiveWorkbook.ActiveSheet

    For i = 1 To 10
        If i < 6 Then
            .Cells(стартовая_строка + i - 1, стартовый_столбец + i - 1) = i
        Else
            .Cells(стартовая_строка + 10 - i, стартовый_столбец + i - 1) = i
        End If
    Next i

End With
End Sub
esculapweb вне форума Ответить с цитированием
Старый 12.11.2010, 13:17   #5
minimo71
 
Регистрация: 04.10.2010
Сообщений: 7
По умолчанию

Кое-какую идею уловил, но вот язык у вас совсем другой, мне Pascal нужен..
minimo71 вне форума Ответить с цитированием
Старый 12.11.2010, 13:18   #6
esculapweb
 
Аватар для esculapweb
 
Регистрация: 11.05.2010
Сообщений: 3
По умолчанию

это на vba, но суть, я думаю, понятна
esculapweb вне форума Ответить с цитированием
Старый 12.11.2010, 13:30   #7
esculapweb
 
Аватар для esculapweb
 
Регистрация: 11.05.2010
Сообщений: 3
По умолчанию

Pascal учил ток в школе, но кажись так:
Код:
start_x:=4;
start_y:=1;
for i:=1 to 10 do
begin
if i < 6 then
    Massiv(start_x+i-1, start_y+i-1):=i;
else
    Massiv(start_x+10-i, start_y+i-1):=i;
end;

Последний раз редактировалось esculapweb; 12.11.2010 в 14:42.
esculapweb вне форума Ответить с цитированием
Старый 12.11.2010, 14:22   #8
minimo71
 
Регистрация: 04.10.2010
Сообщений: 7
По умолчанию

Огромное спасибо! Уже что-то похожее сам успел написать Ж)
minimo71 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение TextArea Slusar Работа с сетью в Delphi 0 22.02.2010 20:02
ЗАПОЛНЕНИЕ БД Лонли-Локли БД в Delphi 4 26.08.2009 14:54
Заполнение бланков kzld Microsoft Office Excel 0 22.07.2009 07:03
Заполнение матрицы Pedro Помощь студентам 3 22.04.2009 23:53
Заполнение textarea Lion-Tiger Компоненты Delphi 0 03.03.2009 05:01