for i:=0 to 5 do zqda:=max(tmpzqda[i],tmpzqda[i+1]);我知道最后取出来的zqda是数组tmpzqda的最大值,但是我想循环结束后取出是第几次循环的最大值,也就是把最大值的i取出来,如何做?

解决方案 »

  1.   

    for...
    if tmpzqda[i+1]>tmpzqda[i]  then
       x:=i   //x记录那一次
      

  2.   


    for i:=0 to 5 do zqda:=max(tmpzqda[i],tmpzqda[i+1]);
    不是取出的最大值!zqda:=0;
    for i:=0 to 5 do
      if (tmpzqda[i]>zqda) then
       begin
         zqda:= tmpzqda[i]; x:= i;
      end;
      
      

  3.   

    zqda:=0;(假如数组中都是负数这条语句也会产生错误)
    zqda:=tmpzqda[0],
    for i:=0 to 5 do
      if (tmpzqda[i]>zqda) then
       begin
         zqda:= tmpzqda[i]; x:= i;
      end;
    for i:=0 to 5 do 
    if (tmpzqda[i]=zqda) then print i;
    这样假如有二个以上的最大值也无所谓了。
      

  4.   

    var 
    p:integer;
    begin
     for i:=0 to 5 do 
      zqda:=max(tmpzqda[i],tmpzqda[i+1]);
      p:=i;
    这是我凭空想的
    你试试看吧