[ 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. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1


    если edit1.text Не равно edit1.text[length(edit1.text)-i+1] значит

    length - длина(вроде так)
     
  2. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    перебор с двух концов идет,если они не равны значит не палиндром,иначе палиндром.
     
  3. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Я так понимаю алгоритм программы такой. Слово делиться пополам, и потом первый символ сравнивается с последним, второй с предпоследним, и т.п.
    Ну а как быть если слово не четное, тогда ведь поровну уже не поделишь
     
  4. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    ёклмн,деление без остатка ж юзается.
     
  5. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Так как можно разделить нечетное число без остатка?
    Тогда получиться не целое число, а дробь
     
  6. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    div - деление без остатка 5 раз писали те
     
  7. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Не равны, или не одинаковы?
     
  8. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Я уже вообще не могу.
    Вообщем есть программа
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
    k:boolean;
    begin
    k:=true;
    for i:=1 to (length(edit1.text) div 2)do
    if edit1.text[i]<>edit1.text[length(edit1.text)-i+1] then
    begin
    k:=false;
    break;
    end;
    if k=true then
    showmessage('Палиндорм')
    else showmessage('Не палиндорм')
    
    end;
    
    end.
    
    Так вот если for i:=1 to (length(edit1.text) div 2)do то первый символ не сравниваеться, а для того что бы сравнивался нужно
    for i:=0 to (length(edit1.text) div 2)do
    Подскажите чему равно значение этого выражения
    if edit1.text<>edit1.text[length(edit1.text)-i+1] then
    Мне нужно назвать не какое нибудь слово, а именно число
     
  9. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Сравнивается как раз, номера символов начинаются с 1. Выучи основы языка для начала, а уже потом пробуй что то писать.
     
  10. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    А разве если i=1 то первый символ не учитывается?
     
  11. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Учитывается, я же написал.
     
  12. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Тогда объясни вот это
    if edit1.text<>edit1.text[length(edit1.text)-i+1] then
    Чему равно значения выражения в квадратных скобках то есть
    [length(edit1.text)-i+1]
    Там должна быть какая-то цифра. Дело в том что с меня это спрашивают
     
  13. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27

    Хорошо, пусть в нас в edit1 записано слово trololo.
    Тогда получается, что:
    Code:
    length(edit1.text) = 7;
    
    i = 1; edit1.text[i] = 't'; edit1.text[length(edit1.text)-i+1] = 'o';
    i = 2; edit1.text[i] = 'r'; edit1.text[length(edit1.text)-i+1] = 'l';
    i = 3; edit1.text[i] = 'o'; edit1.text[length(edit1.text)-i+1] = 'o';
    ...
     
  14. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    А почему length(edit1.text) = 7; когда в слове trololo 6 символов
     
  15. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Неужели все настолько плохо?...
     
  16. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Да... Препод грузит :mad:
    Спрашивает чему равно значение выражения в квадратных скобках, а я не знаю что ответить...
    Поначалу думал что значение равно количеству символов проверяемого слово, но оказывается я ошибся
     
  17. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Так вы мне число назовете? Объясните что к чему мне это очень нужно!
     
  18. Faost

    Faost New Member

    Joined:
    11 Jul 2009
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    Империал,

    > Спрашивает чему равно значение выражения в квадратных скобках

    равно позиции символа, соответствующего символу позиции i

    здесь "соответствующий" - тот, который i с конца :)
     
    #8998 Faost, 23 Mar 2012
    Last edited: 23 Mar 2012
  19. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    А какой символ соответствует позиции i?
    Я просто не знаю как правильно сформулировать ответ, а с меня требуют, иначе говорят что я не сам писал программу
     
  20. Faost

    Faost New Member

    Joined:
    11 Jul 2009
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    Империал, вчитайтесь в пост Chrome~, где он приводит в пример слово "trololo"
     
Thread Status:
Not open for further replies.