Теорії алгоритмів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Розрахункова робота
Предмет:
Інші
Група:
КН-21

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська політехніка» Кафедра АСУ / Розрахункова робота З Теорії алгоритмів 26. (Славич) Замість крапочок вставте числа так, щоб сума чисел у рядках і стовпчиках у квадраті була однакова.  Хід роботи program table1; var b: array [1..3,1..3] of integer; { вхідна матриця } x,y, nul_val, { індекс невизначеного числа } nul_cnt, { кількість невизначених чисел } max_val, { сума, яка повинна бути в рядках і стовпцях } sum { сума, яка повинна бути в рядках і стовпцях } : integer; procedure WriteB; var x,y: integer; begin writeln; For y:=1 to 3 do begin For x:=1 to 3 do write(b[x,y],' '); writeln; end; end; begin b[1,1]:=-1; b[2,1]:=-1; b[3,1]:=-1; b[1,2]:=7; b[2,2]:=6; b[3,2]:=5; b[1,3]:=4; b[2,3]:=-1; b[3,3]:=3; writeln('Вхідні дані:'); WriteB; { пошук суми, яка повинна бути в рядках і стовпцях } max_val:=-1; For x:=1 to 3 do begin sum:=0; nul_cnt:=0; For y:=1 to 3 do if b[x,y]>0 then begin nul_cnt:=nul_cnt+1; sum:=sum+b[x,y]; end else break; if nul_cnt=3 then begin max_val:=sum; break; end; end; if max_val=-1 then For x:=1 to 3 do begin sum:=0; nul_cnt:=0; For y:=1 to 3 do if b[y,x]>0 then begin nul_cnt:=nul_cnt+1; sum:=sum+b[y,x]; end else break; if nul_cnt=3 then begin max_val:=sum; break; end; end; writeln; writeln('Сума по рядках і стовпцях: ',max_val); writeln; writeln('Результат:'); { обчислення невідомих у стовпцях } For x:=1 to 3 do begin sum:=0; nul_val:=0; nul_cnt:=0; For y:=1 to 3 do if b[x,y]=-1 then begin nul_val:=y; nul_cnt:=nul_cnt+1; end else sum:=sum+b[x,y]; if nul_cnt=1 then b[x,nul_val]:=max_val-sum; end; { обчислення невідомих у рядках } For y:=1 to 3 do begin sum:=0; nul_val:=0; nul_cnt:=0; For x:=1 to 3 do if b[x,y]=-1 then begin nul_val:=x; nul_cnt:=nul_cnt+1; end else sum:=sum+b[x,y]; if nul_cnt=1 then b[nul_val,y]:=max_val-sum; end; WriteB; ReadLn; end.
Антиботан аватар за замовчуванням

29.11.2012 17:44

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!