Уважаемые программисты и просто любители поясните, пожалуйста: program pz165; const N=10; var a:array [1..N] of char; b:array [1..N] of integer; c:array [1..N] of integer; d:array [1..N] of real; dmin,dmax:real; i,minind,maxind:integer; begin writeln('введите названия ',N,' стран'); for i:=1 to N do begin readln(a[i]); end; writeln('введите численность населения ' ,N,' стран'); for i:=1 to N do begin readln(b[i]); end; writeln('введите количество зарегистрированных в течении года пожаров в ',N,' странах'); for i:=1 to N do begin readln(c[i]); end; for i:=1 to N do begin d[i]:=c[i]/b[i]; end; begin dmax:=d[1]; maxind:=1; for i:=1 to N do if d[i]>dmax then dmax:=d[i]; maxind:=i; writeln('максимальный коэффициент риска возникновения пожара для страны ',maxind,' равен ',dmax); end; begin dmin:=d[1]; minind:=1; for i:=1 to N do if d[i]<dmin then dmin:=d[i]; minind:=i; writeln('минимальный коэффициент риска возникновения пожара для страны ',minind,' равен ',dmin); end; end. Вопрос такой: мне нужно из массива "d" взять коэффициенты максимального и минимального значения и вывести элементы из массива "а" с этими же индексами, но беда в том, что мне выводит всегда только десятые индексы. Помогите математику...
Дополнен 6 лет назад
writeln('максимальный коэффициент риска возникновения пожара для страны ',a[maxind],' равен ',dmax); - пробовалась и такая запись, но результат тот же: выдает последний 10 -ый элемент массива "a".
Дополнен 6 лет назад
Сами максимум и минимум он находит, но индексы - нет.
Спасибо за ответ begin dmax:=d[1]; maxind:=1; for i:=1 to N do if d[i]>dmax then dmax:=d[i]; maxind:=i; writeln('максимальный коэффициент риска возникновения пожара для страны ',maxind,' равен ',dmax); end; Он вроде бы уже заключен... Или ещё где-то нужно вставить?..
Imobilazer
Искусственный Интеллект
(222384)
for i:=1 to N do
if d[i]>dmax then
begin
dmax:=d[i];
maxind:=i;
end;
program pz165;
const
N=10;
var
a:array [1..N] of char;
b:array [1..N] of integer;
c:array [1..N] of integer;
d:array [1..N] of real;
dmin,dmax:real;
i,minind,maxind:integer;
begin
writeln('введите названия ',N,' стран');
for i:=1 to N do
begin
readln(a[i]);
end;
writeln('введите численность населения ' ,N,' стран');
for i:=1 to N do
begin
readln(b[i]);
end;
writeln('введите количество зарегистрированных в течении года пожаров в ',N,' странах');
for i:=1 to N do
begin
readln(c[i]);
end;
for i:=1 to N do
begin
d[i]:=c[i]/b[i];
end;
begin
dmax:=d[1];
maxind:=1;
for i:=1 to N do
if d[i]>dmax then
dmax:=d[i];
maxind:=i;
writeln('максимальный коэффициент риска возникновения пожара для страны ',maxind,' равен ',dmax);
end;
begin
dmin:=d[1];
minind:=1;
for i:=1 to N do
if d[i]<dmin then
dmin:=d[i];
minind:=i;
writeln('минимальный коэффициент риска возникновения пожара для страны ',minind,' равен ',dmin);
end;
end.
Вопрос такой: мне нужно из массива "d" взять коэффициенты максимального и минимального значения и вывести элементы из массива "а" с этими же индексами, но беда в том, что мне выводит всегда только десятые индексы. Помогите математику...