Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.05.2009, 17:33
Аватар для mars2107
mars2107 mars2107 вне форума
Прохожий
 
Регистрация: 05.05.2009
Сообщения: 13
Репутация: 10
По умолчанию Задачи в Delphi

Прошу помочь мне и сделать ниже приведеные задачи.

решить бы их в течении 4 часов. Буду очень благодарен
Вложения
Тип файла: rar j.rar (11.1 Кбайт, 8 просмотров)
Ответить с цитированием
  #2  
Старый 05.05.2009, 17:39
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

В раздел "Работа" с такими требованиями
PS: и таким кол-вом задач (16 штук )
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #3  
Старый 05.05.2009, 17:47
Аватар для mars2107
mars2107 mars2107 вне форума
Прохожий
 
Регистрация: 05.05.2009
Сообщения: 13
Репутация: 10
По умолчанию

извените конешно что так вломился сюда, но завтра у меня экзамен. Прошу помочь. задачи с БД не обязательно.
Ответить с цитированием
  #4  
Старый 05.05.2009, 17:56
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

Наиболее интересную решил 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
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #5  
Старый 05.05.2009, 17:59
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ну и чем поможет на экзамене сделаная за тебя задача? Считаешь, что будут совершенно аналогичные и ты сможешь парой изменений ее решить - сомневаюсь.
Какую из предложеных тобой задач ты можешь сделать самостоятельно?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 05.05.2009, 18:01
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
Радость

Страдалецъ присоединяйся - это как соревнование - кто больше ?
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #7  
Старый 05.05.2009, 18:03
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Уже не успею, домой пора собираться.
Мне сдается, что это медвежья услуга будет.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 05.05.2009, 18:04
Аватар для mars2107
mars2107 mars2107 вне форума
Прохожий
 
Регистрация: 05.05.2009
Сообщения: 13
Репутация: 10
По умолчанию

спасибо. да так быстро, я бы час сидел над ней. новичок я еще
конечно еще бы обязателно:
Задача 22.9
Задача 22.40

Задача 22.27
Задача 22.23
Задача 22.16
Задача 22.14
Задача 22.13
Задача 22.11
Остальные я по примерам из тетради сделаю

Последний раз редактировалось mars2107, 05.05.2009 в 18:27.
Ответить с цитированием
  #9  
Старый 05.05.2009, 18:05
Аватар для mars2107
mars2107 mars2107 вне форума
Прохожий
 
Регистрация: 05.05.2009
Сообщения: 13
Репутация: 10
По умолчанию

Страдалецъ денег за это предложить не могу, но могу отблагодарить базой icq номеров девятками. 1000 штук и все рабочие
Ответить с цитированием
  #10  
Старый 05.05.2009, 18:10
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

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 , если надо искать максимальный отрицательный.
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #11  
Старый 05.05.2009, 18:30
Аватар для mars2107
mars2107 mars2107 вне форума
Прохожий
 
Регистрация: 05.05.2009
Сообщения: 13
Репутация: 10
По умолчанию

что нибудь еще можешь сделать?
Ответить с цитированием
  #12  
Старый 05.05.2009, 18:42
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
Сообщение

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;
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #13  
Старый 05.05.2009, 19:00
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

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;
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #14  
Старый 05.05.2009, 19:17
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

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;

Функция вернёт только чётные слова
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #15  
Старый 05.05.2009, 19:32
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

Думаю 5 решённых задач с меня хватит, дальше думай сам
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025