Что я делаю неправильно в по иформатике? ! ! ! : "занесите информацию о десяти европейских странах n(название страны), k(численность населения), s(площадь страны). выведите названия стран в порядке возрастания плотности их населения." program n_58; var s: array[1..10] of real=(244.1,357,132,43.1,504.8,301.2,312.7,92.0,337,551); n: array[1..10] of string; i,imin,j: integer; x: real; r: string; const k: array[1..10] of real=(58100,81200,10300,5190,39100,57200,38500,9800,5060,57800); begin n[1]: ='великобритания'; n[2]: ='германия'; n[3]: ='греция'; n[4]: ='дания'; n[5]: ='испания'; n[6]: ='италия'; n[7]: ='польша'; n[8]: ='португалия'; n[9]: ='финляндия'; n[10]: ='франция'; for i: =1 to 9 do begin imin: =i; for j: =i+1 to 10 do begin if s[j]=s[i] then x: =s[i]; s[i]: =s[imin]; s[imin]: =x; r: =n[i]; n[i]: =n[imin]; n[imin]: =r; end; end; for i: =1 to 10 do writeln(n[i], ' ', s[i]); end.

arpine1977 arpine1977    3   20.09.2019 06:00    25

Ответы
Program n_58;

var
  s: array[1..10] of real = (244.1, 357, 132, 43.1, 504.8, 301.2, 312.7, 92.0, 337, 551); // площадь
  gn: array[1..10] of real; // густота населения
  k: array[1..10] of real = (58100, 81200, 10300, 5190, 39100, 57200, 38500, 9800, 5060, 57800); // количество
  n: array[1..10] of string = ('Великобритания', 'Германия', 'Греция', 'Дания', 'Испания', 'Италия', 'Польша', 'Португалия', 'Финляндия', 'Франция');
  i, j: integer;
  x: real;
  r: string;

begin
  for i := 1 to 10 do gn[i] := k[i] / s[i];
  for i := 1 to 10 do
    for j := i + 1 to 10 do
      if gn[i] > gn[j] then 
      begin
        x := gn[j];gn[j] := gn[i];gn[i] := x;
        r := n[j];n[j] := n[i];n[i] := r;
      end;
  for i := 1 to 10 do writeln(n[i], ' ', gn[i]:0:2);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика