Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.12.2011, 22:05
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию Очень нужна помощь Delphi+массив

Помогите сделать маленькую программку в Delphi
я знаю она легкая но я в дэлпхи вообще не разбегаюсь
преложил результат программы , как она примерно должна выглядеть

переведу, так как там на латышском
Elementu skaits - число Элементов
Sastadit Masivu - Составить массив
Izejošais masivs - Выходящий массив
Kartibas seciba - Последовательность
Augstoša seciba - Возрастная последовательность
Dilstoša secība - Убывающяя последовательность
(последовательность не обязательно , главное это первые три , где надо ввести число , нажать на кнопочку и появляется выходящий массив как в примере)
если кто поможет , буду очень благодарен

результат

Последний раз редактировалось anderbeli, 19.12.2011 в 13:43.
Ответить с цитированием
  #2  
Старый 18.12.2011, 22:20
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Сколько уже можно повторять. Если вы не приложили никаких усилий и просите с нуля написать программу, то это в раздел "работа". Напишите хотя бы минимум сами и объясните где и что не получается, тогда и на помощь можно рассчитывать.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 18.12.2011, 22:32
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Сколько уже можно повторять. Если вы не приложили никаких усилий и просите с нуля написать программу, то это в раздел "работа". Напишите хотя бы минимум сами и объясните где и что не получается, тогда и на помощь можно рассчитывать.

в том то дело я даже не знаю с чего начинать ! или какую инфу искать в интернете , чтоб понять как это делать ?
Ответить с цитированием
  #4  
Старый 18.12.2011, 22:40
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Если не знаешь с чего начать, начни с главного, читай книги по Дельфи.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 18.12.2011, 22:48
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

да скажите что это за массив хотя бы
Ответить с цитированием
  #6  
Старый 18.12.2011, 22:55
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Динамический массив.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #7  
Старый 18.12.2011, 23:00
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Динамический массив.

Двумерный ?
Ответить с цитированием
  #8  
Старый 18.12.2011, 23:04
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Судя по-программе - одномерный, а уж что нужно по-заданию не знаю.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #9  
Старый 18.12.2011, 23:06
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Судя по-программе - одномерный, а уж что нужно по-заданию не знаю.

ну копию этой ) ладн , пойду искать , только тему не закрывайте пжлс )
а как вообще , сложно её сделать ?
Ответить с цитированием
  #10  
Старый 18.12.2011, 23:15
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Так даже текст задания не был озвучен.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #11  
Старый 18.12.2011, 23:20
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Так даже текст задания не был озвучен.

ну мне сказали сделать как в программе , вот и все задание
Ответить с цитированием
  #12  
Старый 18.12.2011, 23:31
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

1. Вводим число
2. делаем цикл по-введенному числу
3. Получаем случайное число
4. Выводим в массив

Вот вкратце.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #13  
Старый 18.12.2011, 23:31
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

нашел , но как то не так как в исходники выводит
Код:
procedure MoveOneElementWithShift( Row, Col : integer; var M : TDynArray);
var
  i, j,
    MaxJ, MasPosition, NextI, NextJ : integer;
begin
  for i := Row to Length(M) - 1 do begin
     if (i = Row)
        then j := Col
        else j := 0;
     if (i = (Length(M)-1))
        then MaxJ := Length(M[i]) - 2
        else MaxJ := Length(M[i]) - 1;
     while j <= MaxJ do begin
        MasPosition := i*Length(M[i]) + j;
        NextI := (MasPosition + 1) div Length(M[i]);
        NextJ := (MasPosition + 1) mod Length(M[i]);
        M[i, j] := M[NextI, NextJ];
        inc(j);
     end;

     {åńėč ļīńėåäķ˙˙ ńņšīźą, óģåķüųčģ šąēģåš ļīńėåäķåé ńņšī÷źč ķą 1}
     if (i = (Length(M)-1))
       then if Length(M[i])>0 then SetLength(M[i], Length(M[i]) - 1);
  end;
  if Length(M[Length(M)-1]) = 0 then
              SetLength(M, Length(M) - 1)

end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: integer;
begin
  Randomize;

  StringGrid1.FixedRows := 0;
  StringGrid1.FixedCols := 0;

  SetLength(Mas, StrToInt(Edit1.Text), strToInt(Edit2.Text));
  StringGrid1.RowCount := StrToInt(Edit1. Text);
  StringGrid1.ColCount := strToInt(Edit2. Text);
  for i := 0 to Length(mas) - 1 do
    for j := 0 to Length(mas[i]) - 1 do
    begin
      if chbLinearNumbers.Checked then
         Mas[i, j] := i*Length(mas[i])+j+1
      else
         Mas[i, j] := StrToInt(Edit3.text) + Random(StrToInt(Edit4.Text) - StrToInt(Edit3.text) + 1);
         
      StringGrid1.Cells[j, i] := IntToStr(Mas[i, j]);
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i, j: integer;
begin
  if (StringGrid1.Row+1>Length(mas)) then begin
    Application.MessageBox('ß÷åéźą ķå óźąēūāąåņ ķą żėåģåķņ ģąńńčāą', 'Īųčįźą', MB_ICONINFORMATION or MB_OK);
    Exit;
  end;
  if (StringGrid1.Col+1>Length(mas[StringGrid1.Row])) then begin
    Application.MessageBox('ß÷åéźą ķå óźąēūāąåņ ķą żėåģåķņ ģąńńčāą', 'Īųčįźą', MB_ICONINFORMATION or MB_OK);
    Exit;
  end;

  MoveOneElementWithShift( StringGrid1.Row, StringGrid1.Col, Mas );

  for i := 0 to StringGrid1.RowCount-1  do
    for j := 0 to StringGrid1.ColCount-1 do
    begin
      StringGrid1.Cells[j, i] := '';
    end;


  for i := 0 to Length(mas) - 1 do
    for j := 0 to Length(mas[i]) - 1 do
    begin
      StringGrid1.Cells[j, i] := IntToStr(Mas[i, j]);
    end;

end;

end.
Ответить с цитированием
  #14  
Старый 18.12.2011, 23:33
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Это несколько другое, но ведь не обязательно делать точную копию.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #15  
Старый 18.12.2011, 23:37
anderbeli anderbeli вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Это несколько другое, но ведь не обязательно делать точную копию.

ну от меня требуют чтоб выводило в точности как в исходнике , я знаю что в этом коде что я выложил надо где то поправить чтоб получилось
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter