Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2015, 14:01   #1
Allkom
 
Регистрация: 18.11.2015
Сообщений: 3
По умолчанию Помогите написать программу

Нужно написать программу - генератор последовательных чисел с записью в *.TXT
Чтобы можно было задать диапазон.
К примеру - задали трехзначный диапазон от 0 до 999. Программа должна записывать в файл :
0
00
000
1
01
001
2
02
002
...
Прога не сложная, я только не могу понять - как добавлять нули к числам с переди
Allkom вне форума Ответить с цитированием
Старый 18.11.2015, 14:39   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

оперировать не числами а текстом
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 18.11.2015, 14:40   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

А паскаль то какой?

Если классический, тогда надо свою функцию набросать
примерно так:
Код:
function IntToStrPaddedZero(N : integer; Digits : integer): string;
var s : string;
begin
  Str(N,s);
  while Length(s)<Digits do s:='0'+s;
  IntToStrPaddedZero := s
end;

тогда ваша программа запишется так:
Код:
var i,j : integer;
begin
  for i:=0 to 999  do
    for j:=1 to 3 do
      WriteLn(IntToStrPaddedZero(i,j))
end.

Последний раз редактировалось Serge_Bliznykov; 18.11.2015 в 14:42.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.11.2015, 14:53   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
uses crt;
var f:text;
i,j,k:integer;
s,s1 : string [3];
begin
clrscr;
assign(f,'1.sol');
rewrite(f);
 for i := 0 to 999 do
  begin
    for j := 1 to 3 do
     begin
       str(i,s1);
       writeln(f,copy('000',1,j-length(s1))+s1)
     end
  end;
close(f);
end.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 20.05.2016, 01:17   #5
Allkom
 
Регистрация: 18.11.2015
Сообщений: 3
По умолчанию

Спасибочки
Allkom вне форума Ответить с цитированием
Старый 20.05.2016, 01:30   #6
Allkom
 
Регистрация: 18.11.2015
Сообщений: 3
По умолчанию

а можете подсказать - похожий вариант :
классический паскаль
значит имеется массив данных а[1..6] (цифры и буквы) ну к примеру 7 3 d O P 2 , и нужно както сделать чтоб программа выводила также , тока чтоб с а[i].
пример вывода:
a[1] =7
a[1]a[1] =77
a[1]a[1]a[1] =777
a[2] =3
a[1]a[2] =73
a[1]a[1]a[2] =773
.......
a[i]a[i]a[i]
вобщем похожа на предыдущую, ток там счетчик у цикла считал цифры 0-999(десятичная система счисления),
а тут надо както сделать счетчик от массива, чтоб число его элементов задавало свою систему счисления, например в данном примере это 6-ричная.
Allkom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу С++ wolchara Помощь студентам 2 10.01.2015 22:32
помогите написать программу назира Visual C++ 0 13.03.2014 22:43
Помогите написать программу mrc++ Visual C++ 0 27.10.2013 16:11
Помогите написать программу!!! Skoroxod Фриланс 4 01.04.2009 21:03
Помогите написать программу!!!! Engine777 Помощь студентам 0 27.11.2007 23:15