Помогите с задачами

Тема в разделе "Delphi - FAQ", создана пользователем Lilith, 22 сен 2008.

  1. Lilith

    Lilith Гость

    Есть три задачи:
    Есть код к первой и части второй
    Код (Text):
    var
    Form1: TForm1;
    V: array of integer;
    F: array of integer;
    a,b,i,N,K,c,j:integer;
    d:String;
    implementation

    {$R *.dfm}



    procedure TForm1.Zadanie1Execute(Sender: TObject); // первая задача
    begin
    a:=StrToInt(Edit1.Text);
    b:=StrToInt(Edit2.Text);
    N:=StrToInt(Edit3.Text);
    SetLength(V,N);
    j:=0;
    Randomize;

    for i:=0 to N-1 do
    begin
    V[i]:=random(b-a)+a;
    end;
    for i:=0 to N-1 do
    begin
    If (N mod 5 <> 0) then
    begin
    F[j]:=V[i];
    j:=j+1;
    end;
    RichEdit1.Clear;
    for i:=0 to N-1 do
    begin
    d:='F['+IntToStr(i)+']='+IntToStr(F[i]);
    RichEdit1.Lines.Add(d);
    end;
    end;
    end;

    procedure TForm1.Zadanie2Execute(Sender: TObject); // вторая задача, а точнее ее часть
    Var c:String;
    begin
    K:=StrToInt(Edit4.Text);
    a:=StrToInt(Edit1.Text);
    b:=StrToInt(Edit2.Text);
    N:=StrToInt(Edit3.Text);
    SetLength(V,N);
    Randomize;

    for i:=0 to N-1 do
    begin
    V[i]:=random(b-a)+a;
    N:=V[i];
    end;
    for i:=0 DownTo N-2 do
    begin
    If V[i]<N then
    V[i+1]:=V[i];
    V[N-1]:=K;
    end;
    RichEdit2.Clear;
    for i:=0 to N-1 do
    begin
    c:='V['+IntToStr(i)+']='+IntToStr(V[i]);
    RichEdit2.Lines.Add(c);
    end;
    end;

    end.
    И очень прошу исправить ошибки в коде, и помочь с написанием второй и третьей задачами...
     
  2. Lilith

    Lilith Гость

    Покрайней мере, я сомневаюсь с этой частью программы:
    Код (Text):
    begin
    If (N mod 5 <> 0) then
    begin
    F[j]:=V[i];
    j:=j+1;
    end;
     
  3. Lilith

    Lilith Гость

    Откуда, откуда... задали по учебе...

    Программа "работает", но, (хех) криво :) тем более, в части которую я выделила, есть уже отклонение от задание - это раз, а два, нарушается логика...
     
  4. Lilith

    Lilith Гость

    1. Учусь, 2 курс, на спецэфическую специальность экономист-программист (ну еще есть варианты на выбор: экономист-информатик, менеджер-программист, менеджер-информатик) %). Предмет Информатика и программирование.
    2. Согласна, с delphi общаюсь пока "на Вы", и сложнее простого канкулятора, ни чего еще не писала... Так что начинаем братся за ум... но... без совета и помощи более опытных сложно, вот и обратилась сюда за помощью.
    4. То что логику нарушала я, с этим не спорю.
     
  5. Lilith

    Lilith Гость

    ну, почти все задала в глобальные переменные, а так
    глобальные
    Код (Text):
    V: array of integer;
    F: array of integer;
    N,a, b, i,j:integer;
    локальные:
    Код (Text):
    K,c:integer;
    d:String;
    c:String;
    P.S. ну а дальше, я уже врят ли что-то смогу ответить...
     
  6. Lilith

    Lilith Гость

    мне удобнее было...
     
  7. Lilith

    Lilith Гость

    Учимся, учимся, да и не расчитывала на код готовый :)
    Теперь глупые вопросы, что делает функция формат Format?
    И... еще хотелось бы, что бы узнать:
    из первой задачи: что надо прописать что бы программа удаляла (а то она не делает этого...) элементы?
    вторая задача: как происходит вставка заданного элемента в массив?
    третья: вот тут я даже не могу представить как делать, если можно то ссылку, или какой нибудь простенький код в качестве примера...
     
  8. Lilith

    Lilith Гость

    Мне, может прозвучит странно, хотя бы простые примеры нужны... Из воздуха брать все не могу, да и трудно, когда представление только поверхностное...

    Промежуточных результатов нет пока, тот код в первом посте, вся наработка, больше пока не касалась его.

    С третьей задачей ступор...
     
  9. Гость

    Разъеснение третей части задачи:
    есть массив из n элементов:
    [1,2,3,4,5,6,7,8,9,10,11,...n] - массив 1 , назавем Vector1

    переставить в обратном порядке элементы с K1 по K2: - это будет промежуточный массив для содержания этих элементов K1K2Vector:
    взять массив Vector1 , проверить есть ли такая размерность от K1 индекса до K2 если есть то создадим массив K1K2Vector:
    Код (Text):
    int[] K1K2Vector = new int[K2-1];
    int j = 0;
    for(i=K2;i<=K1;i--)
    {
    K1K2Vector[j] = Vector1[i];
    j++;
    }
    j=0;
    for(int i=0;i<=Vector1.length();i++)
    {
    if((i>=K1)||(i<=K2)
    {
    Vector[i]=K1K2Vector[j];
    j++;
    }
    }
    Помойму вот такая логика , пример кода написанный на JAVA , но не пробывал его :rolleyes:.. так что примерно должно быть ясно.
    Да , ПС: у меня блокируются проксей кнопки нажатия для ввода кода , напишите мне теги , я буду красиво оформлять код :rolleyes:.
     
  10. Гость

    Спасибо ... будем пользоваться, а эту задачку я счас просто поробую быстренько на c++(седня начал изучать) перенести. :rolleyes:
     
  11. Lilith

    Lilith Гость

    спасибо, счас будем мучаться %)
     
Загрузка...

Поделиться этой страницей