Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 22.06.2015, 20:59   #1 (ссылка)
Эксперт
 
Аватар для Гризлик
 
Регистрация: 08.09.2009
Сообщений: 10,716
Репутация: 960
По умолчанию Нужна помощь в написании программы

Хочу написать программу которая сгенерировала все возможные комбинации автомобильного номера вида а000аа. Вроде сначала казалось легко, а как-только начинал писать - кошмар. Паскалем со школы не пользовался. Кое как с горем попалам разобрался с цифрами
Код:
uses crt;
var
a,b,c :integer;
x: text;
begin
a:=0;
b:=0;
c:=0;
assign(x,'list.txt');
rewrite(x);
repeat
c:=c+1;
if c=10 then begin
c:=0;
b:=b+1;
end;
if b=10 then begin
c:=0;
b:=0;
a:=a+1;
end;
writeln(x,a,b,c);
until (a=9) and (b=9) and (c=9);
close(x);
end.
А вот с буквами зашел в тупик. Букв все 12 - A,B,E,K,M,H,O,P,C,T,Y,X
Может кто подскажет.
Гризлик вне форума  
Старый 25.06.2015, 12:48   #2 (ссылка)
Новичок
 
Аватар для demancent
 
Регистрация: 24.02.2015
Сообщений: 352
Репутация: 10
По умолчанию

если писать самому не обязательно, уже есть такая..
demancent вне форума  
Старый 25.06.2015, 14:21   #3 (ссылка)
Новичок
 
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
По умолчанию

Гризлик, вот примерно, как генерировать буквенную часть номера:
Код:
uses crt;
const
     sym1: array [1..12] of char=('A','B','E','K','M','H','O','P','C','T','Y','X');
     sym2: array [1..12] of char=('A','B','E','K','M','H','O','P','C','T','Y','X');
var
i,j: byte;
x: text;
begin
Assign(x,'list.txt');
Rewrite(x);
for i:=1 to 12 do
    for j:=1 to 12 do begin
    Writeln(x,sym1[i],sym2[j]);
    end;
Close(x);
Readln;
end.
Но не понятно, как его соединить с цифрами...?
sheff-09 вне форума  
Старый 25.06.2015, 16:20   #4 (ссылка)
Эксперт
 
Аватар для Гризлик
 
Регистрация: 08.09.2009
Сообщений: 10,716
Репутация: 960
По умолчанию

Цитата:
Сообщение от demancent Посмотреть сообщение
уже есть такая..
Это вроде немножко не то. Там они в хаотичном порядке идут. Хотя может и не до конца разобрался с настройками.


sheff-09, Вот Спасибо!
Правда сначала понять не мог как эти две части соеденить Но потом немного модифицировал первую часть и в итоге получилось
Код:
uses crt;
const
     sym1: array [1..12] of char=('A','B','E','K','M','H','O','P','C','T','U','X');
     sym2: array [1..12] of char=('A','B','E','K','M','H','O','P','C','T','U','X');
     sym3: array [1..12] of char=('A','B','E','K','M','H','O','P','C','T','U','X');
var
a: integer;
i,j,f: byte;
x: text;
begin
Assign(x,'list.txt');
Rewrite(x);
for i:=1 to 12 do
    for j:=1 to 12 do begin
    for f:=1 to 12 do begin
    for a:=0 to 999 do
    if (a < 10) then writeln(x,sym1[i],'00',a,sym2[j],sym3[f]) else
    if (a < 100) then writeln(x,sym1[i],'0',a,sym2[j],sym3[f]) else
    if (a < 1000) then writeln(x,sym1[i],a,sym2[j],sym3[f]);    
    end;
    end;
Close(x);
Readln;
end.
Работает!!
Спасибо!

Последний раз редактировалось Гризлик; 25.06.2015 в 17:04.
Гризлик вне форума  
Старый 25.06.2015, 16:51   #5 (ссылка)
Эксперт
 
Аватар для Гризлик
 
Регистрация: 08.09.2009
Сообщений: 10,716
Репутация: 960
По умолчанию

Скажите я правильно считаю что количество всех доступных комбинаций должно быть 3 в 12 степени умноженое на 999. Т.е. 530909559 комбинаций???
Потому-что меня смущает размер выходного файла. Всего 13,5 Мб. Что-то я считал что должно быть около 4Гб.
Гризлик вне форума  
Старый 25.06.2015, 17:59   #6 (ссылка)
Стажёр
 
Регистрация: 04.01.2013
Сообщений: 490
Репутация: 57
По умолчанию

Цитата:
Сообщение от Гризлик Посмотреть сообщение
Скажите я правильно считаю что количество всех доступных комбинаций должно быть 3 в 12 степени умноженое на 999. Т.е. 530909559 комбинаций???
нет, 12 в 3 степени умноженное на 1000
Serega_490101 вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по настройке программы Connectify. Jek_Nopas Интернет и сети 0 19.01.2014 23:58
нужна помощь в написании программы в двух видах на Pascal dimuk Программирование 0 29.11.2011 21:41
Нужна помощь! На компьютере не открываются программы!!! Валерия9205 Windows 7 6 02.11.2011 02:32
Всем привет. Прошу Вас, дорогие программисты, помочь в написании программы в Паскале. timur_03 Программирование 0 04.05.2011 17:12
Ремонт Хард диска (Нужна помощь в выборе программы) ewso Железо 3 17.02.2011 18:25


Текущее время: 02:06. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.