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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.12.2008, 16:03
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
Плохо Лаба по массивам

Добрый день , у меня не получается сделать лабу по массивам ИМЕННО МОЙ ВАРИАНТ а все ост какие то легкие выполняя задание я даже не с какой либо стороны подойти к решению не могу ,то что самая хрень я могу ее решить при помощи рекурсивного вызова но это не разрешает препод т к тема массивы вот задание : Перечислить все числа заданной последовательности чисел которые состоят из тех же цифр что и первое . Например вводим число 123 вывод должен быть таким : 132 123 213 231 321 312 . Я не могу эту задачу решить математически представить алгоритм . Единственной что могу запихать вводимые число в массив и написать числа с помощью цикла . Помогите уж пожалуйста.
Ответить с цитированием
  #2  
Старый 12.12.2008, 18:05
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Как вариант - распихиваешь в массив по циферкам и дальше просто перебираешь элементы массива во всех возможных вариантах.
Ответить с цитированием
  #3  
Старый 12.12.2008, 19:02
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию

ты хочешь сказать что бы я сделал 3 цикла ?
мы друг друга не поняли
1) алгоритм должен обладать свойством массовости т е при любых вводных данных выводить верный результат // а если число будет четырехзначное ?
можно мне по конкретнее пожалуйста а то чтото совсем не понимаю
Ответить с цитированием
  #4  
Старый 13.12.2008, 12:05
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

подобная тема была, но там рекурсией сделал. массивами так и не понял. Самый удобный вариант рекурсией. А варинт рекурсия + масивы не пойдет?
Ответить с цитированием
  #5  
Старый 13.12.2008, 13:01
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию

Тема массивы , конечно нет
Ответить с цитированием
  #6  
Старый 13.12.2008, 13:34
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

ну и что. массив то используется.
Ответить с цитированием
  #7  
Старый 13.12.2008, 14:53
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию

написал прогу типа есть баланс скобок или нету использовал стринг а мне и говорит препод : так нельзя т к ты используешь тип данных стринг котогого в данном семестре нету , я говорю я к строке обращаюсь как к массиву а мне в ответ все равно нельзя должно быть сделано с ключевым словом array ИТОЧКА.
я хз как лабу по числам этим делать ((((((( ( ((
Ответить с цитированием
  #8  
Старый 13.12.2008, 16:00
Act Act вне форума
Новичок
 
Регистрация: 01.11.2008
Сообщения: 72
Репутация: 10
По умолчанию

array of char вот тебе строка =)
Ответить с цитированием
  #9  
Старый 13.12.2008, 18:48
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию

ёк макарек мне число надо разложить я хз как
Ответить с цитированием
  #10  
Старый 13.12.2008, 19:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Что значит "разложить"? На цифирьки и покидать в массив что-ли?
Тогда так:

Код:
var
  A : Array Of Byte;
begin
  SetLength(A,0);
  While N > 10 Do
    Begin
       SetLength(A,Length(A)+1);
       A[High(A)] := N Mod 10;
       N := N Div 10;
    End;
  SetLength(A,Length(A)+1);
  A[High(A)] := N;
end;

в массиве будут отдельно цифирьки в обратном порядке, т.е. в начале младший разряд, в конце - старший.
Ответить с цитированием
  #11  
Старый 13.12.2008, 20:14
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию

мне нужно что бы моя программа раскладывала все возможные варианты чисел т е
ВВОДИМ 123
вывод должен быть такой
123
132
213
231
312
321
понятно что мне нужно ??
Разесняю еще
я пишу прогу в турбо среде
я пишу размерность массива//3
я ввожу посимвоьлно массив
1 ентер
2 ентер
3 ентер
потом прога должна мне разложить число 123 на
123
132
213
231
312
321
как ввести всё я знаю а как перебор нет

Последний раз редактировалось Sharky, 13.12.2008 в 20:22.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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