1. Дано натуральное числоN. Требуется написать программу для определения наименьшего из целых чисел, больших числа N и составленных из тех же цифр, что и N.
2. Для заданной числовой последовательности A[1..N] найти максимальную длину строго возрастающей подпоследовательности элементов (не обязательно подряд идущих) последовательности A.
3. Даны два массива чисел. Создать третий массив теми элементами из первого массива, которых нет во втором массиве.
4. Дан угол в градусах между часовой стрелкой и линией, проходящей через центр циферблата и точку, соотв. 12 часам. Требуется определить текущее время с точностью до минуты. Используя полученные числа, определить, сколько времени пройдет прежде чем часовая и минутная стрелки
а) будут перпендикулярны
б) будут взаимно противоположны
в) совпадут
5. Для некоторого целого числа N определить такое число a, не кратное 10, котрое при зачеркивании первой цифры уменьшается в n раз.
Катастрофически не хватает времени, очень надеюсь на вашу помощь...
Добавлено через 19 мин.
2. Пока что сделала так...
const a:array[1..10] of integer=(1,2,0,6,8,3,6,4,2,0);
var b:array[1..10] of integer;
i,j,k,max:integer;
begin
for j:=1 to 6 do
begin for i:=1 to 6 do
if a[i+1]>a[i] then inc(k);
b[j]:=k;
end;
max:=1;
for j:=2 to 5 do if b[j]>b[max] then max:=j;
writeln(max-1);
readln;
end.
willin, практически все задачи уже решались (или обсуждались) на форуме:
1. Принцип решения - здесь: http://forum.pascal.net.ru/index.php?showtopic=17090
2. и 3. - вообще встречаются довольно часто... Например, http://forum.pascal.net.ru/index.php?showtopic=14959 - для третьей задачи...
4. см. здесь: http://forum.pascal.net.ru/index.php?showtopic=18406
volvo, видимо, неправильно искала, так как ничего не нашла... Попробую перейти по ссылкам
Добавлено через 11 мин.
эх, добрые люди, не поможете ли написать код, голова совсем пухнет, времени не хватает анализировать задачи...
Добавлено через 4 мин.
для третьей задачи не работает...
Uses Crt ;
Var
A: Array[1..20] of Integer;
B: Array[1..20] of Integer;
C: Array[1..20] of Integer;
n,i,j,k:Integer;
Begin
ClrScr;
Writeln('n=');
Readln (N);
Writeln('a');
For I := 1 to N do
Begin
Write('A[',I,']=');
Readln(A[I]);
End;
Writeln('B');
For I := 1 to N do
Begin
Write('B[',I,']=');
Readln(B[I]);
End;
j:=0;
For i:=1 to n do
Begin
if (a[i]<>b[i]) then
begin
c[j]:=a[i];
inc(j)
end; end;
for i:=1 to n do
write(c[i],' ');
readln;
end.
Var
A,B,C: Array[1..20] of Integer;
n,i,j,k:Integer;
flag:boolean;
Begin
Write('n=');
Readln (N);
Writeln('a');
For I := 1 to N do Begin
A[I]:=Random(N);
Write(A[I]:4)
End;
WriteLn;
Writeln('B');
For I := 1 to N do Begin
B[I]:=Random(N);
Write(B[I]:3)
End;
WriteLn;
j:=0;
For i:=1 to n do Begin
{устанавливаем флажок и..}
flag:=true;
{в цикле сравниваем со всеми элементами B }
{если хотя бы один равен - флаг сбрасывается}
for k:=1 to N do flag:=flag and (a[i]<>b[k]);
{если флаг не упал, то A[i] не встречается в B }
if flag then begin
{строчки в этом цикле я переставил. Почему?}
inc(j);
c[j]:=a[i]
end;
end;
{вывод массива только до j}
for i:=1 to j do write(c[i],' ');
readln;
end.