![]() |
|
|
#1
|
||||
|
||||
|
Прошу помочь мне и сделать ниже приведеные задачи.
решить бы их в течении 4 часов. Буду очень благодарен |
|
#2
|
||||
|
||||
|
В раздел "Работа" с такими требованиями
![]() PS: и таким кол-вом задач (16 штук ) |
|
#3
|
||||
|
||||
|
извените конешно что так вломился сюда, но завтра у меня экзамен. Прошу помочь. задачи с БД не обязательно.
|
|
#4
|
||||
|
||||
|
Наиболее интересную решил
22.8Код:
function Hack(lim:integer; n:integer):String; var a,b:Double; begin b := lim; a := lim - 2; while (a > 0) do begin b := a + 1/b; a := a - 2; end; b := Frac(b); while (n > 0) do begin b := b * 10; n := n - 1; end; Result := IntToStr(Trunc(b)); end; lim - предел, в твоей задаче это 103 n - кол-во необходимых знаков, после запятой, в твоей задаче это 8 Ответ: 31303528 |
|
#5
|
||||
|
||||
|
Ну и чем поможет на экзамене сделаная за тебя задача? Считаешь, что будут совершенно аналогичные и ты сможешь парой изменений ее решить - сомневаюсь.
Какую из предложеных тобой задач ты можешь сделать самостоятельно? |
|
#6
|
||||
|
||||
|
Страдалецъ присоединяйся - это как соревнование - кто больше ?
![]() |
|
#7
|
||||
|
||||
|
Уже не успею, домой пора собираться.
Мне сдается, что это медвежья услуга будет. |
|
#8
|
||||
|
||||
|
спасибо. да так быстро, я бы час сидел над ней. новичок я еще
конечно еще бы обязателно: Задача 22.9 Задача 22.40 Задача 22.27 Задача 22.23 Задача 22.16 Задача 22.14 Задача 22.13 Задача 22.11 Остальные я по примерам из тетради сделаю ![]() Последний раз редактировалось mars2107, 05.05.2009 в 18:27. |
|
#9
|
||||
|
||||
|
Страдалецъ денег за это предложить не могу, но могу отблагодарить базой icq номеров девятками. 1000 штук и все рабочие
|
|
#10
|
||||
|
||||
|
22.29
Код:
type TArr = array [1..10] of integer;
function FindNum(var arr:TArr; ismin:boolean):integer;
var i:integer;
begin
if ismin then
begin
Result := MAXINT;
for i:=1 to 10 do
if (arr[i] > 0) and (arr[i] < Result) then
Result := arr[i];
if Result = MAXINT then Result := 0;
end
else
begin
Result := 0;
for i:=1 to 10 do
if arr[i] < Result then Result := arr[i];
end;
end;Массив заполнить , думаю, сможешь arr - передаешь массив ismin - передаешь true , если надо искать минимальный положительный элемент и false , если надо искать максимальный отрицательный. |
|
#11
|
||||
|
||||
|
что нибудь еще можешь сделать?
|
|
#12
|
||||
|
||||
|
2.9
Код:
type Tdarr = array of integer;
function FindPrimes(var arr:Tdarr; n:integer):integer;
var i:integer;
lim,num:integer;
isbreak:boolean;
begin
if n = 1 then
begin
Result := 0;
Exit;
end;
SetLength(arr, 1);
arr[0]:=2;
Result := 1;
if n = 2 then Exit;
num := 3;
while (num <= n) do
begin
isbreak := false;
lim := Trunc(Sqrt(num))+1;
for i:=0 to Length(arr)-1 do
if arr[i] > lim then break else
if num mod arr[i] = 0 then
begin
isbreak := true;
break;
end;
if not isbreak then
begin
SetLength(arr,Length(arr)+1);
arr[Result] := num;
Result := Result + 1;
end;
num := num + 2;
end;
end;Функция возвращает число найденных простых чисел. Пример использования: Код:
var count:integer;
primes : Tdarr;
begin
count := FindPrimes(primes , 500);
...
// работа с полученным массивом, например вывод на экран
...
// т.к. массив primes динамический, не забудь потом освободить память
primes := nil;
end; |
|
#13
|
||||
|
||||
|
22.40
Код:
type Tdarr = array of integer;
procedure SwapArr(var m1,m2:Tdarr; n:integer);
var i,c:integer;
s:string;
swc:char;
begin
SetLength(m2,n);
for i:=0 to n-1 do
begin
s := IntToStr(m1[i]);
c := Trunc(ln(m1[i])/ln(10))+1;
swc := s[c];
s[c] := s[1];
s[1] := swc;
m2[i] := StrToInt(s);
end;
end;Пример использования: Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,n:integer;
a,b:Tdarr;
begin
// в Edit1 пусть находиться нужное n
n := StrToInt(Edit1.Text);
Randomize;
SetLength(a,n);
for i:=0 to n-1 do a[i] := Random(100000);
SwapArr(a,b,n);
// выводить будем в Edit2 и Edit3
Edit2.Text := '';
Edit3.Text := '';
for i:=0 to n-1 do
begin
Edit2.Text := Edit2.Text + IntToStr(a[i]) + ' ';
Edit3.Text := Edit3.Text + IntToStr(b[i]) + ' ';
end;
// не забыть освободить память, т.к. массивы динамические
a := nil;
b := nil;
end; |
|
#14
|
||||
|
||||
|
22.27
Код:
function DeleteOdds(ins:string):string;
var i,n,p1,p2,cnt:integer;
isspace:boolean;
begin
ins := ins + ' ';
n := Length(ins);
cnt := 0;
Result := '';
p1 := 1;
isspace := true;
for i:=1 to n do
begin
if ins[i]=' ' then
begin
if not isspace then
begin
isspace := true;
p2:=i;
cnt := cnt + 1;
if cnt mod 2 = 0 then
begin
if cnt > 2 then Result := Result + ' ';
Result := Result + Copy(ins,p1,p2-p1);
end;
end;
end
else
begin
if isspace then
begin
p1 := i;
isspace := false;
end;
end;
end;
end;Функция вернёт только чётные слова |
|
#15
|
||||
|
||||
|
Думаю 5 решённых задач с меня хватит, дальше думай сам
![]() |