Тема: Мішаний масив
Допоможіть написати код для того щоб можна було змішати у випадковій послідовності масив
Наприклад:
A(1,2,3,4,5)
в масив
A(3,2,5,1,4)
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Pascal/Delphi → Мішаний масив
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Допоможіть написати код для того щоб можна було змішати у випадковій послідовності масив
Наприклад:
A(1,2,3,4,5)
в масив
A(3,2,5,1,4)
Я англійськой не знаю а пререводчик невсе переводе.
А також ви не знаєте російської і не можете читати алгоритми в 3 рядки...
Це ж треба, в нього ще й назва є.
var
I,r: Integer;
s:string;
begin
for I := 0 to ListBox1.Items.Count-1 do
begin
r:=Random(ListBox1.Items.Count);
s:=ListBox1.Items.Strings[i];
ListBox1.Items.Strings[i]:= ListBox1.Items.Strings[r];
ListBox1.Items.Strings[r]:=s;
end;
end;
1. Неправильно задані межі для генерації ВЧ. Список буде не зовсім випадковий - втім, якщо це тільки для інтерфейсу, згодиться. А от для тасування карт в грі на гроші - дуже погано.
2. Не використовуйте елементи управління для зберігання інформації - там не змінні, а властивості (property), і операції типу
ListBox1.Items.Strings[i]:= ListBox1.Items.Strings[r];
насправді роблять значно більше, ніж вам треба.
Хоча якщо елементів небагато, то так, звісно, легше писати.
3. Давайте зрозумілі імена змінним. Наприклад, якщо це список користувачів, то UserList буде значно краще пояснювати вам, що відбувається. А якщо боїтесь із типами заплутатися - використовуйте "угорський запис", наприклад, lbUserList (де lb - від ListBox).
4. Strings - типова властивість для Items, тому її можна опустити: ListBox1.Items.Strings[x] - те саме, що й ListBox1.Items[x].
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися