Курсовая по информатике
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: физика и техника, реферат на тему работа курсовые работы
| Добавил(а) на сайт: Волков.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
"max:=0".
Каждой ячейке массива связей присваивается “ложь”
Пока файл не кончился считываются пара стран, в массив связей с индексами: [страна с меньшим номером, с большим] присваивается значение истина.
Закрывается файл "filen".
Блок, определяющий минимальное количество цветов.
Начальное количество цветов = 1.
Повторять действия:
Повысить количество цветов на единицу.
Пока не возможна раскраска всех стран данным количеством цветов.
Запись данных.
Создать файл "Output.txt". Считать в него количество цветов. Считать в него список раскраски стран. Закрыть файл.
Текст программы
program mag; uses crt; var num:char; filen:string; g:array [1..100]of integer; s:array[1..100,1..100]of boolean; max,s1,s2,j,n,i,a:integer; f:file of char; f1:text;
{ Функция считывает текущее число, из файла связанного с пеpеменной - f. }
function get:integer; var k,c:integer; s:string; ch:char; begin s:=''; k:=50; while ((s='')or(k=43)or(k=45)or((k>47)and(k47)and(k1 then for j:=1 to i-1 do if s[j,i] then if g[i]=g[j] then pr:=false; end;
function gen(n:integer):boolean; begin for j:=1 to max do g[j]:=0; i:=1; repeat repeat g[i]:=g[i]+1; until pr or (g[i]>n); if (g[i]>n) then begin g[i]:=0; i:=i-1; end else i:=i+1; until (i=1)or(i>max); gen:=i>max; end; begin clrscr; writeln(' Haжмите цифру, указывающую номер файла'); writeln(' с которого будут счтываться данные. '); writeln(''); for i:=1 to 3 do writeln(' ',i,' - файл input',i,'.txt');
{Запpос номеpа файла.} repeat num:=readkey; if not((num='1')or(num='2')or(num='3')) then writeln(' Вы в чем-то ошиблись'); until (num='1')or(num='2')or(num='3'); filen:='input'+num+'.txt'; writeln(''); writeln(' Выбран файл - ',filen); writeln('');
{Считывание данных}
Assign(f,filen); Reset(f); max:=0; for s1:=1 to 100 do for s2:=1 to 100 do s[s1,s2]:=false; while not eof(f) do begin s1:=get; s2:=get; if s1>s2 then s[s2,s1]:=true else s[s1,s2]:=true; end;
Close(f);
n:=1; repeat n:=n+1; until gen(n);
{ Вывод данных в файл - 'output.txt'.}
Assign(f1,'output.txt'); Rewrite(f1); writeln(f1,' Число стран = ',max); writeln(f1,''); writeln(f1,'N cтран = ',n); for j:=1 to max do writeln(f1,'cтрана - ',j,', цвет - ',g[j],' ');
Close(f1); end.
Koнец.
Данные из Input1.txt:
1 2 1 7 2 7 2 3 2 8 3 4 3 9 3 8 4 9 4 5 5 6 5 9 5 13
Рекомендуем скачать другие рефераты по теме: шпаргалка рф, курсовая работа проблема.
Категории:
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата