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

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

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

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

Рік:
2011
Тип роботи:
Розрахункова робота
Предмет:
Інші
Група:
КН-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:11-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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