|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Очень нужна помощь 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
|
||||
|
||||
Сколько уже можно повторять. Если вы не приложили никаких усилий и просите с нуля написать программу, то это в раздел "работа". Напишите хотя бы минимум сами и объясните где и что не получается, тогда и на помощь можно рассчитывать.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
Цитата:
в том то дело я даже не знаю с чего начинать ! или какую инфу искать в интернете , чтоб понять как это делать ? |
#4
|
||||
|
||||
Если не знаешь с чего начать, начни с главного, читай книги по Дельфи.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
да скажите что это за массив хотя бы
|
#6
|
||||
|
||||
Динамический массив.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
|||
|
|||
Цитата:
Двумерный ? |
#8
|
||||
|
||||
Судя по-программе - одномерный, а уж что нужно по-заданию не знаю.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#9
|
|||
|
|||
Цитата:
ну копию этой ) ладн , пойду искать , только тему не закрывайте пжлс ) а как вообще , сложно её сделать ? |
#10
|
||||
|
||||
Так даже текст задания не был озвучен.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#11
|
|||
|
|||
Цитата:
ну мне сказали сделать как в программе , вот и все задание |
#12
|
||||
|
||||
1. Вводим число
2. делаем цикл по-введенному числу 3. Получаем случайное число 4. Выводим в массив Вот вкратце. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#13
|
|||
|
|||
нашел , но как то не так как в исходники выводит
Код:
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
|
||||
|
||||
Это несколько другое, но ведь не обязательно делать точную копию.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#15
|
|||
|
|||
Цитата:
ну от меня требуют чтоб выводило в точности как в исходнике , я знаю что в этом коде что я выложил надо где то поправить чтоб получилось |