Ребят, оч нада! Воть задачки по Паскалю... Ну никак решить не могу! Пж, мне до послезавтра сдать надо! А я потом свои решённые выложу на сайте! Воть! Заранее спасибо!
1. Дан одномерный целочисленный массив B(n) и натуральное число n. Для каждого из элементов массива B выяснить, сколько раз оно входит в эту последовательность. Результат представить в виде:
"a1 встречается k1 раз" При печати не должно быть повторяющихся строк.
2. Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке: все звонкие согласные буквы, которые входят более чем в одно слово; все гласные буквы, которые не входят более чем в одно слово.
3. Дана строка символов и число N. Произвести ротацию строки на N символов (например: если исходная строка равна '1x2y3z4a', а N=3, то результирующая строка будет равна ' z4a1x2y3').
...и самое главное:
4. Два натуральных числа называются "дружественными", если каждое из них равно сумме всех делителей другого, за исключением его самого (таковы, например, числа 220 и 284). Напечатать все пары "дружественных" чисел, не превосходящих заданного натурального числа.
5. Элемент двумерного массива называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером NxN найти максимум среди всех локальных минимумов.
Я надеюсь на вашу помошь!
Оч-оч нада! Пжлалста, помогите!
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
- †M@MOHT^eHoK†
- Сообщения: 2
- Зарегистрирован: 18 дек 2007, 16:23
Прост Мамонтёнок! Воть! :-)
"Дружественные числа"
Код: Выделить всё
uses crt;
var x, n: Integer;
s1,s2: Integer;
Function GetDividersSumm(x:integer):Integer;
var i, s: integer;
begin
GetDividersSumm := 0;
If X < 2 then exit;
S := 0;
For i := 1 to x div 2 do
If x mod i = 0 then S := S + i;
GetDividersSumm := S;
end;
begin
ClrScr;
Write('N = '); Readln(N);
For X:=2 to N do
begin
s1 := GetDividersSumm(x);
s2 := GetDividersSumm(s1);
If (x=s2) and (x<>s1) then Writeln(x:8,s1:8);
end;
end.
It's a long way to the top if you wanna rock'n'roll
Ротация строки:
l:=length(s);
s:=copy(s,l-N+1,N)+copy(s,1,l);
Локальный минимум:
Дальше с этой функцией пройти в двойном цикле по всему массиву.
l:=length(s);
s:=copy(s,l-N+1,N)+copy(s,1,l);
Локальный минимум:
Код: Выделить всё
function is_local_minimum(i,j:integer);
begin
is_local_minimum:=
((i=1) or (A[i,j]<A[i-1,j])) and
((j=1) or (A[i,j]<A[i,j-1])) and
((i=N) or (A[i,j]<A[i+1,j])) and
((j=N) or (A[i,j]<A[i,j+1]));
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- †M@MOHT^eHoK†
- Сообщения: 2
- Зарегистрирован: 18 дек 2007, 16:23
Ребять! Вы меня прост выручили! Огромное спасибо! 

Прост Мамонтёнок! Воть! :-)