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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задачка......... нудноватая, помогтие решить...плз 
:(
    Опции темы
NeoN2k
Дата 7.5.2005, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Кароче...... народ, есть такая задачка:

Треугольник Delphi.

Треугольник дельфи строится следующим образом. Первая строка состоит из одного числа, равного 1. Каждая следующая строка содержит на одно число больше, чем предыдущая. Первое и последнее из этих чисел равны 1, а все остальные вычисляются как сумма числа, стоящего в предыдущей строке над ним и числа, стоящего в предыдущей же строке слева от него.

Число строк вводтися в Edit1. Примечание: все числа в треугольнике при указанных ограничениях входят в Longint.
пример:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1



вот...... пипл, ХЕЛП!!!!!плз.....[color=skyblue][/color]
Добавлено @ 12:42
кто сможет написать на Дельфи???
PM MAIL   Вверх
SoWa
Дата 7.5.2005, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Это треугольник не Дельфи, а треугольник Паскаля.
Знаешь задачку "Палиндром"?
Так вот- определяешь, четная или не четная строка, потом выбираешь от этого "Центр движения". Двигаешься, складываешь...


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Satana
Дата 7.5.2005, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



NeoN2k да ты чего? ето же простые матрицы, и задача уровня 9-класса. Поищи в нете там алгоритмов должно быть куева туча (если не больше smile)


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Payne
Дата 7.5.2005, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Детектив
*


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

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



Могу подсказать пару вещей. Правда, времени у меня было мало, поэтому мой код корявый слегка, ну да ладно. В общем, в начале я объявил переменные:
Код

ar_Triangle: array [1..30, 1..30] of Integer; //треугольник
LinesNumber: integer; //количество строк
CurrentLine: string; //это будет юзаться для вывода

Как видишь, у меня максимум строк - 30. Ты можешь сделать хоть 100, но для этого будет лучше юзать динамический массив, только вот гемора побольше будет.
Для заполнения массива (это самое важное) следующий кусок кода:
Код

  ar_Triangle [1,1] := 1;
  for i := 2 to LinesNumber do
  begin
    ar_Triangle [i,1] := 1;
    ar_Triangle [i,i] := 1;
    for j := 2 to LinesNumber do
      ar_Triangle [i,j] := ar_Triangle [i-1, j] + ar_Triangle [i-1, j-1];
  end;

Только перед этим инициализируй весь массив нулями - так будет при вычислении в конце всегда единица получаться.
А для вывода используй что-то вроде этого:
Код

for i := 1 to LinesNumber do
  begin
    for j := 1 to LinesNumber do
      CurrentLine := CurrentLine + IntToStr (ar_Triangle[i,j]) + '  ';
  Memo1.Lines.Add(CurrentLine);
  CurrentLine := '';
  end;

Только при этом будет коряво выводиться инфа. Здесь бы использовать что-то вроде форматированных строк. Но думаю, что сам усовершенствуешь, а то я сейчас ухожу - времени нет.
PM MAIL WWW ICQ Skype   Вверх
NeoN2k
Дата 7.5.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



всё это конечно круто, но я тама уже разобрался(походу туповато, но сделал):
Код

for i:=1 to 10 do
 begin
    for j:=1 to 10 do
      begin
         if (i=j)or(j=1) then m[i,j]:=1
         else m[i,j]:=m[i-1,j]+m[i-1,j-1]

      end;
 end;



for i:=1 to 10 do
 begin
    for j:=1 to 10 do
      begin
        if i>=j then  memo1.Lines.Text:=memo1.Lines.Text+IntToStr(m[i,j])+'   ';

      end;
    memo1.Lines.Add('');
 end;


Добавлено @ 15:46
черт, это код для Delphi, это я тупанул...
Добавлено @ 15:48
да, Payne, у мя попроще буит... но всё-равно ОГРОМНЫЙ СЕНКС!!!!!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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