Задачи повышенной сложности по Pascal Очень нужны решения...

Ответить
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Всем привет, разозлилась на мою подругу преподавательница, и дала самый сложный вариант, вот эти задачки, помогите пожалуйста кто чем может ;)

1. Дано действительное число а. Не пользуясь никакими другими операциями, кроме умножения, получить: а10 за четыре операции; а20 за пять операций; а9 за четыре операции; а13 за пять операций, используя минимальное количество переменных.

2.6.14. Дан двумерный массив T(n, n) заполнить его методом змейки числами от 1 до n^2. Например, матрица T(4, 4) будет иметь вид:

Код: Выделить всё

1	2	3	4
8	7	6	5
9	10	11	12
16	15	14	13

Написать программу построения латинского квадрата. Латинский квадрат – матрица NxN, элементы которой выбраны от 1 до N так, что каждое число встречается только один раз в каждой строке и в каждом столбце. Циклический сдвиг осуществляется в процедуре. Пример латинского квадрата порядка 4:

Код: Выделить всё

1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
Шахматную доску будем представлять символьной матрицей размером 8х8. Даны натуральные числа n и m (1 <= n, m <= 8 ) - номера вертикали и горизонтали, определяющие местоположение коня. Соответствующий элемент матрицы нужно положить равным "К". Поля, находящиеся под угрозой коня, положить равными символу "*", а остальные поля - символу "0". Вывести результирующую матрицу на экран.

8.14.Определите можно ли из символов первого слова составить второе слово.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

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
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Написать программу построения латинского квадрата. Латинский квадрат – матрица 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.
mobius
Сообщения: 157
Зарегистрирован: 25 янв 2005, 18:42
Откуда: Минск
Контактная информация:

М-да, а подумать самим тяжело...
Всё об отдыхе на http://chugaga.com
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Благодарю за решения!!!!
Чуток доработал, только блин, как поменять в программе значение константы? А так работает ;)

Код: Выделить всё

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.
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Константа на то и константа, что бы оставаться неизменной..
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Если уж надо изменять константу, то она уже не константа. Сделай переменную и присвой начальное значение. А массив можно сделать 1..100, с запасом, если не хочешь прибегать к динамическому - никто тебя за это не убьет. :-)
It's a long way to the top if you wanna rock'n'roll
Фредди Крюгер
Сообщения: 2
Зарегистрирован: 04 мар 2009, 21:35

Задан целочисленный массив A(n). Выяснить, какое число встречается в массиве раньше: положительное или отрицательное. Если все элементы массива равняются нулю, то сообщить об этом.
роман99991
Сообщения: 1
Зарегистрирован: 14 июн 2013, 18:56

«Тестирование коллектива». Пусть целочисленная матрица
размером я х т содержит информацию об учениках некоторого
класса из п человек. В первом столбце проставлена масса (кг), во
втором — рост (см), в третьем — успеваемость (средний балл) и
т.д. (используйте свои дополнительные показатели). Ученик назы*
вается среднестатистическим по k-му параметру (уникальным по
k-му параметру), если на нем достигается минимум (максимум)
модуля разности среднего арифметического чисел из к-то столбца
и значения к-го параметра этого ученика. Ученик называется са*
мым уникальным (самым средним), если он уникален (является сред*
нестатистическим) по самому большому количеству параметров.
По данной матрице определить самых уникальных учеников и са*
мых средних.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

По каждому столбцу - два прохода. В первом проходе находим максимум и минимум (раздел Алгоритмы), а также считаем сумму всех элементов и находим среднее арифметическое. Во втором проходе - сравниваем это среднее арифметическое со всеми элементами и находим элемент с минимальной разницей со средним.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить