PDA

View Full Version : Паскал



LoF_YoU
01-18-2010, 15:20
Можете ли да ми помогнете със следната задача? :(
Да се напише програма за намиране индекса и стойността на максималния елемент от едномерен масив.Ако има няколко елемента с максимална стойност, на първия от тях.

Chacho
01-18-2010, 17:18
program Zada4a_Lof_You;

type
masiv=array [1..100] of integer;

var
n,x,i,nomer: integer;
a:array

begin

EnterArray(a);

x:=a[i];
nomer=1;
for i:= 1 to n do
begin
if x<a[i] then
begin
x:=a[i];
nomer:=i;
end;
end;

writeln('Nomer na elementa s maximalna stoinost e: ", nomer);
writeln('Stoinostta na elementa e: ", x);




Обяснение на задачата:

Въвел съм една процедура, която не съм я описвал, но тя е доста простичка. Казва се EnterArray и въвежда масива, като същевременно преброява броя на елементите и го запаметява в променливата n.

След това: По начало приемаме, че първия елемент е максималния. Ще обходим масива да проверим дали има друг по-голям елемент и ако срещне такъв ще презапаметим него във променливата х. В момента, в който срещне (ако срещне) по-големия по стойност елемент, той не само запаметява стойността му в х, но и запазваме индекса в променливата nomer. i фактически е индекса на елемента, тъй като започваме да обхождаме от началото и вървим елемент по елемент. Така номерът на стъпката от цикъла се явява номер на елемента.

Накрая като съм си запаметил номера и стойността на елемента, просто ги извеждам.


Питай, ако има нещо неясно.