Страница 1 из 1
Задачи повышенной сложности по Pascal Очень нужны решения...
Добавлено: 18 окт 2006, 17:30
Dr_Grizzly
Всем привет, разозлилась на мою подругу преподавательница, и дала самый сложный вариант, вот эти задачки, помогите пожалуйста кто чем может
1. Дано действительное число а. Не пользуясь никакими другими операциями, кроме умножения, получить: а10 за четыре операции; а20 за пять операций; а9 за четыре операции; а13 за пять операций, используя минимальное количество переменных.
2.6.14. Дан двумерный массив T(n, n) заполнить его методом змейки числами от 1 до n^2. Например, матрица T(4, 4) будет иметь вид:
Написать программу построения латинского квадрата. Латинский квадрат – матрица NxN, элементы которой выбраны от 1 до N так, что каждое число встречается только один раз в каждой строке и в каждом столбце. Циклический сдвиг осуществляется в процедуре. Пример латинского квадрата порядка 4:
Шахматную доску будем представлять символьной матрицей размером 8х8. Даны натуральные числа n и m (1 <= n, m <= 8 ) - номера вертикали и горизонтали, определяющие местоположение коня. Соответствующий элемент матрицы нужно положить равным "К". Поля, находящиеся под угрозой коня, положить равными символу "*", а остальные поля - символу "0". Вывести результирующую матрицу на экран.
8.14.Определите можно ли из символов первого слова составить второе слово.
Добавлено: 26 окт 2006, 15:21
Хыиуду
a2=a*a;
a4:=a2*a2;
a8:=a4*a4;
a10:=a8*a2; //a10
a20:=a10*a10 //a20
a2:=a*a;
a3:=a2*a;
a6:=a3*a3;
a2:=a*a;
a3:=a2*a;
a6:=a3*a3;
a9:=a6*a3; //a9
a2:=a*a;
a3:=a2*a;
a6:=a3*a3;
a12:=a6*a6;
a13:=a12*a;//a13
Добавлено: 26 окт 2006, 17:04
somewhere
Написать программу построения латинского квадрата. Латинский квадрат – матрица NxN, элементы которой выбраны от 1 до N так, что каждое число встречается только один раз в каждой строке и в каждом столбце. Циклический сдвиг осуществляется в процедуре. Пример латинского квадрата порядка 4:
Код: Выделить всё
var
n : Integer = 10;
a : array[1..n][1..n]
x : Integer;
procedure Shift(row:integer);
var y: integer;
begin
for y:=1 to n-1 do a[row][y] := a[row-1][y+1];
a[row][n] := a[row-1][1];
end;
begin
for x:=1 to n do a[1][n]:=x;
for x:=2 to n do
begin
Shift(x);
end;
end.
Добавлено: 27 окт 2006, 18:31
mobius
М-да, а подумать самим тяжело...
Добавлено: 14 ноя 2006, 18:28
Dr_Grizzly
Благодарю за решения!!!!
Чуток доработал, только блин, как поменять в программе значение константы? А так работает
Код: Выделить всё
Uses crt;
const
n=9;
var
a:array [1..n,1..n] of Integer;
x,y:Integer;
procedure Shift(kolonka:integer);
var d: integer;
begin
for d:=1 to n-1 do {d:=n-1 downto 1 do}
a[kolonka,d] := a[kolonka-1,d+1];
a[kolonka,n] := a[kolonka-1,1];
end;
begin
clrscr;
For x:=1 to n do {x:=n downto 1 do}
a[1,x]:=x;
For y:=2 to n do
Shift(y);
For x:=1 to n do
begin
For y:=1 to n do
Write(a[x,y]);
writeln;
end;
readkey;
end.
Добавлено: 14 ноя 2006, 20:14
Duncon
Константа на то и константа, что бы оставаться неизменной..
Добавлено: 15 ноя 2006, 08:57
somewhere
Если уж надо изменять константу, то она уже не константа. Сделай переменную и присвой начальное значение. А массив можно сделать 1..100, с запасом, если не хочешь прибегать к динамическому - никто тебя за это не убьет. :-)
Re: Задачи повышенной сложности по Pascal Очень нужны решения...
Добавлено: 04 мар 2009, 21:56
Фредди Крюгер
Задан целочисленный массив A(n). Выяснить, какое число встречается в массиве раньше: положительное или отрицательное. Если все элементы массива равняются нулю, то сообщить об этом.
помогите пожалуйста решить эту задачку
Добавлено: 14 июн 2013, 19:00
роман99991
«Тестирование коллектива». Пусть целочисленная матрица
размером я х т содержит информацию об учениках некоторого
класса из п человек. В первом столбце проставлена масса (кг), во
втором — рост (см), в третьем — успеваемость (средний балл) и
т.д. (используйте свои дополнительные показатели). Ученик назы*
вается среднестатистическим по k-му параметру (уникальным по
k-му параметру), если на нем достигается минимум (максимум)
модуля разности среднего арифметического чисел из к-то столбца
и значения к-го параметра этого ученика. Ученик называется са*
мым уникальным (самым средним), если он уникален (является сред*
нестатистическим) по самому большому количеству параметров.
По данной матрице определить самых уникальных учеников и са*
мых средних.
Re: Задачи повышенной сложности по Pascal Очень нужны решения...
Добавлено: 17 июн 2013, 14:31
Хыиуду
По каждому столбцу - два прохода. В первом проходе находим максимум и минимум (раздел Алгоритмы), а также считаем сумму всех элементов и находим среднее арифметическое. Во втором проходе - сравниваем это среднее арифметическое со всеми элементами и находим элемент с минимальной разницей со средним.