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

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Code:
    program Project1;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    var a,b,x,y:Integer;
    begin
      Write('Vvedite X=');
      Readln(x);
      Write('Vvedite Y=');
      Readln(y);
      for a:=0 to 30000 do
        for b:=0 to 30000 do
        begin
          if (a+b=x)and(a*b=y) then
          begin
            Write('a='+IntToStr(a));
            Writeln(' b='+IntToStr(b));
          end;
        end;
      Readln;
    end.
     
  2. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    я не могу разобраться со своей последней программой!(

    дано одномерной числовой массив целого типа. Написать программу, которая указывает индексы всех возможных пар элементов цьго массива, сумма квадратов величин которых равна заданному числу Х (если такие индексы есть)

    я только поиск смог написать
    f:=0;
    for i:=1 to n-1 do
    for j:=i+1 to n do
    if sqr(a)+sqr(a)=x then
    begin
    writeln(i,' ',j);
    f:=1;
    end;
    if f=0 then write('Таких пар нет');
    read;n
    end.

    а вот как мне сделать ввод массива и числа???
    может я в скрипте допустил ошибку то поправьте если не сложно!
     
  3. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    я вообще не дружу с массивами и не понимаю их(я еще новичок в паскале)
    можете показать полный скрипт если не сложно??
     
  4. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    Code:
    	if nomer1 = 1 then begin
    	writeln('vvedite kol-vo chisel v massive: ');
    	readln(kolvo);
    при компиляции type mismatch
    это из-за
    nomer1 = 1 ?

    nomer1: integer
     
    _________________________
  5. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    а тип kolvo ?
     
  6. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    тоже integer
    если что, дальше идет вот-так:
    Code:
    	if length(kolvo) = 0 then begin
    		readln(kolvo);
     
    _________________________
  7. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    дано одномерной числовой массив целого типа. Написать программу, которая указывает индексы всех возможных пар элементов цьго массива, сумма квадратов величин которых равна заданному числу Х (если такие индексы есть)

    я что то не пойму как она работает
    сначала нужна массив создавать или что?

    program index;
    var nomer1,kolvo:Integer;
    begin
    if nomer1 = 1 then begin
    WriteLn('Vvedite kol-vo chisel v massive:');
    ReadLn(kolvo);


    end.
     
  8. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    так вот тут и лажа Length - это для строк и массивов, но никак не для Integer
    И, к стати говоря, а что ты хочешь сделать применяя Length к Kolvo?
    Тебе просто нужно
    Code:
    if kolvo=0 then ляляля
    к стати вот так вот:
    Code:
    repeat
      writeln('Введите количество');
      readln(kolvo);
    until kolvo>0;
    ГОРАЗДО круче
     
    1 person likes this.
  9. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    я не знаю как,как посоветуете!
    простоя и малейшего представления не имею как сделать эту программу!


    program index;
    var nomer1,kolvo:Integer;
    begin
    if nomer1 = 1 then begin
    WriteLn('Vvedite kol-vo chisel v massive:');
    ReadLn(kolvo);
    repeat
    writeln('Введите количество');
    readln(kolvo);
    until kolvo>0;
    end.
     
  10. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Code:
    if nomer1 = 1 then begin
    что это значит в начале программы?
     
  11. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    я просто скопировал выше сказаное!if nomer1 = 1 then begin
    writeln('vvedite kol-vo chisel v massive: ');
    readln(kolvo);

    просто не знаю как ее сделать!
     
  12. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Всегда думал, что такие вот "подсказки" в виде полного решения убивают желание что-либо узнавать и разбиратся.
    Но мне кажется тебе этого и не нужно. Вот тебе решение готовое:

    Code:
    program Project3;
    
    {$APPTYPE CONSOLE}
    
    //дано одномерной числовой массив целого типа.
    //Написать программу, которая указывает индексы всех возможных пар элементов цьго массива,
    //сумма квадратов величин которых равна заданному числу Х (если такие индексы есть)
    uses
      SysUtils;
    const y=20;
    var a:array[1..y]of Integer;
        i,j,x,Found:Integer;
    begin
      Found:=0;
      for i:=1 to y do
      begin
        Writeln('Введите '+IntToStr(i)+'-й элемент массива');
        ReadLn(a[i]);
      end;
      Write('Введите X=');
      Readln(x);
      for i:=1 to y do
        for j:=i+1 to y do
        begin
          if (x=(Sqr(a[i])+Sqr(a[j]))) then
          begin
            Found:=Found+1;
            Writeln('a='+IntToStr(a[i])+' b='+IntToStr(a[j]));
          end;
        end;
      if Found=0 then
            Writeln('Таких чисел нет');
      Readln;
    end.
     
    #8572 xophet, 21 Oct 2011
    Last edited: 21 Oct 2011
  13. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    а эта программа запустится через ТУРБО ПАСКАЛЬ???
     
  14. Chrome~

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

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Скорее всего не откомпилируется, так как
    Code:
    uses
      SysUtils;
    В Delphi откомпилируется.
     
  15. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    убираешь это
    {$APPTYPE CONSOLE}

    //дано одномерной числовой массив целого типа.
    //Написать программу, которая указывает индексы всех возможных пар элементов цьго массива,
    //сумма квадратов величин которых равна заданному числу Х (если такие индексы есть)
    uses
    SysUtils;
    и запустится
     
  16. Chrome~

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

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Нет, этого недостаточно, так как IntToStr лежит в SysUtils.

    ITdocer, вместо
    Code:
    Writeln('Введите '+IntToStr(i)+'-й элемент массива');
    пиши
    Code:
    Writeln('Введите ', i, '-й элемент массива');
    и т. д.
     
  17. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    можно использовать функцию str,не помню надо подключать црт или нет,но на всяк случай подключай.
     
  18. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    спасибо работает!)

    откомпилировал)

    program Project1;
    const y=20;
    var a:array[1..y]of Integer;
    i,j,x,Found:Integer;
    begin
    Found:=0;
    for i:=1 to y do
    begin
    Writeln('Vvedite ',i,'-and element massiva');
    ReadLn(a);
    end;
    Write('Vvedite X=');
    Readln(x);
    for i:=1 to y do
    for j:=i+1 to y do
    begin
    if (x=(Sqr(a)+Sqr(a[j]))) then
    begin
    Found:=Found+1;
    Writeln('a=',a,' b=',a[j]);
    end;
    end;
    if Found=0 then
    Writeln('Takih chisel net');
    Readln;
    end.
     
  19. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Возможно ли используя компонент WebBrowser передать данные методом POST но при этом чтобы страница в браузер не обновилась, то есть скрытно от пользователя.
    А так же интересует как используя тот же компонент WebBrowser прочитать ответ от сервера(страницу) который пришел, в моей ситуации это в основном xml файлы.
     
  20. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5

    капец, а где форматирование кода? :(
     
Thread Status:
Not open for further replies.