[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Смотри почему не ставится
    делай выводы исправляй.
    Тут телепатов нет :)
     
  2. MaTpOc

    MaTpOc Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    пaскаль. найти срeднее aрифметическое элeментов с чeтными номерами(индексами) массивa

    PHP:
     var
    x,n,i:integer;
    result:real;
    c: array [1..12]of integer;
    e:integer;
    begin
       
    for := 1 to 12 do
       
    readln(c);

       for 
    := 1 to 12 do
          
    begin
            
    if (i Mod 2=0then 
            begin
            x
    :=x+c[i]; 
            
    n:=n+1;  
            
    end;
          
    end;
       
    result:=x/n;  
       
    writeln(result);
    end.
    нужно исправить ошибки, ато прога не хочет работать (
     
  3. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    1. Можно цикл заменить на while, с шагом 2. ( не нужно будет проходить по всему массиву)
    2. Кол-во четных элементов можно определить как n div 2.

    Ну как то так:

    PHP:
    var
      
    i,n,sum Integer;
      
    : array [1..100of integer;
    begin
      Reset
    (input,'input.in');
      
    Rewrite(Output,'output.out');
      
    read(n);
      for 
    := 1 to n do
        
    read(a[i]);

      
    sum := 0;
      
    := 2;

      while 
    <= do begin
        inc
    (suma[i]);
        
    inc(i,2);
      
    end;

      
    Writeln(sum / ( n div 2));
    end.
     
    #7743 fenixelite, 8 Feb 2011
    Last edited: 8 Feb 2011
  4. Isaev

    Isaev Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Что не хочет работать то?
    Написано глупо, но работать будет
     
  5. $Robin

    $Robin Member

    Joined:
    25 Jun 2010
    Messages:
    47
    Likes Received:
    5
    Reputations:
    0
    А readln(c) ? + леваяч переменная e + деление на ноль при n= 1?
    fenixelite, кстате тоже деление на ноль будет..
     
  6. Isaev

    Isaev Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    readln(c) это компилятор сразу покажет,
    деления на ноль не будет, у него n=6 всегда, раз массив задан [1..12] и цикл тоже жёсткий,
    а левых переменных можно сколько хочешь напихать, прога будет работоспособной
     
  7. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Как в NextGrid(таблица для Delphi) сохранить выбранные строки?(если включен MultiSelect)
     
  8. Isaev

    Isaev Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Есть свойство, которое хранит список выделенных строк, делаешь цикл, обходишь список и вохраняешь куда надо.
    Если сохраняешь в список того же типа, то можешь просто через Assign присвоить
     
  9. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Не подскажешь, что за свойство? Никак его найти не могу.
     
  10. qssD

    qssD New Member

    Joined:
    16 Dec 2010
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    if edit1.Text:= '123' then
    button1.Enabled:=true;
    Что я не правильно делаю?
     
  11. qssD

    qssD New Member

    Joined:
    16 Dec 2010
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    a все.
     
  12. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    if (edit1.Text='123') then
    button1.Enabled:=true;

    Мой вариант:
    if (Form1.Edit1.Text='123') then Form1.Button1.Enabled:=true;
     
  13. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    923
    Likes Received:
    838
    Reputations:
    402
    теоретический вопрос.

    Вводные:

    http://ru.wikipedia.org/wiki/Развёрнутый_связный список
    Вопрос:

    на какие по объему (Кб) массивы оптимально разбивать информацию, чтобы с одной стороны - массивы "помещались" в кэше процессора, с другой - чтобы не создавать лишних связей и не тратить лишней памяти.?

    Допустим, что кэш процессора - 2мб.

    ps. было дело я упорядочивал информацию в виде трехмерных массивов, при этом сам замечал, что при превышении конечным (отдельным) массивом размера в 40-50кб скорость работы с ним резко падает (во много раз). Если же размер конечного массива превысит 150 кб, то скорость падала уже на порядки

    В вики 40кб приведено как пример... Но какое значение единицы связанного массива - все же - оптимально? (для 2мб кэша)
     
    #7753 ErrorNeo, 11 Feb 2011
    Last edited: 11 Feb 2011
  14. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    единственная ошибка это двоеточие перед знаком равно
    вы же не присваиваете значение а у вас условие.
     
  15. Isaev

    Isaev Elder - Старейшина

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Не стоит он у меня сейчас... а так не помню
    Вроде как и везде Selected если поле с галочками есть, можешь просто по нему пробежаться примерно так Cell[X, Y].AsString='True';
     
  16. MaTpOc

    MaTpOc Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    Объясните пожалуйста, вот есть 1й способ сравнения элементов массива, когда мы 1й элемент сравниваем со всеми остальными элементами массива...

    А вот что еще за метод или способ, когда мы максимальному присваиваем самое минимальное значение а минимальному - максимальное?
     
  17. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    923
    Likes Received:
    838
    Reputations:
    402
    MaTpOc - твой вопрос не понятен.
    Если ты имеешь ввиду алгоритмы сортировки, то вот
    http://ru.wikipedia.org/wiki/Методы_сортировки
     
    #7757 ErrorNeo, 11 Feb 2011
    Last edited: 11 Feb 2011
    2 people like this.
  18. MaTpOc

    MaTpOc Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    не совсем то, мне нужнен метод сравнения, т е нахождение наибольшего и наименьшего, сортировки я усвоил.
     
  19. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Ну найти максимальный и минимальный элемент без полного перебора не получиться. Тебе код нужен? Вот, на скорую руку, вроде смысл такой.
    Code:
    max = mas[0];
    min = mas[0];
    for i:=0 to N-1 do
      begin
      if mas[i] > max then
        max := mas[i];
      if mas[i] < min then
        min := mas[i];
      end;
    
     
    2 people like this.
  20. Dimaus

    Dimaus Banned

    Joined:
    7 Nov 2008
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    Помогите написать на делфи калькулятор типа:
    a=ac/az
    b=bc/bz
    c=cc/cz где, a b с дроби(ac, bc, cc: числитель, az ,bz , cz: знаменатель)
    нужно в формы ac az bc bz вводить числитель и знаменатель дробей соответственно, а в форме cc cz получать результат: сложения, умножения, вычитания и деления.
    a*b=c
    a/b=c
    a-b=c
    a+b=c
    Дополнительных условий типа, знаменатель не должен равняться нулю накладывать не нужно.
     
Thread Status:
Not open for further replies.