Ответы на вопрос:
//pascalabc.net 3.2 сборка 1318 const n=4; var f: file of char; i,j,counter,filelen: integer; s: string; val: char; ar: array[1..n] of integer; coms: array[1..n] of integer; begin for i: =1 to n do coms[i]: =i; assign(f,'input.csv'); reset(f); i: =1; //столбец матрицы counter: =1; //количество прочитанных элементов filelen: =filesize(f); //количество элементов в файле (включая разделители) read(f,val); //на случай, если первая строка пуста repeat while (ord(val)< > 10) and (ord(val)< > 13) do //каждая строка заканчивается символами 10 и 13, а элементы разделяются ; begin if (val< > '; ') and (ord(val)< > 10) and (ord(val)< > 13) then begin ar[i]+=strtoint(val); //вводим значение из ячейки в переменную суммы read(f,val); //cчитываем следующее значение inc(counter); //увеличиваем количество прочитанных end else begin read(f,val); //пропускаем разделитель inc(counter); end; end; if (ord(val)=10) and (counter< filelen) then //в конце каждой строки стоят символы с 10 и 13, пропускаем их begin read(f,val); inc(counter); end; if (ord(val)=13) and (counter< filelen) then //когда дошли до конца строки begin inc(i); read(f,val); //читаем с новой строки inc(counter); end; until(counter=filelen); //читаем пока количество элементов в файле не сравняется с количеством прочитанных close(f); for i: =1 to n-1 do //когда лень писать быструю сортировку for j: =i+1 to n do if ar[i]< ar[j] then begin counter: =ar[i]; ar[i]: =ar[j]; ar[j]: =counter; counter: =coms[i]; coms[i]: =coms[j]; coms[j]: =counter; end; for i: =1 to n do writeln(i,'st place-',coms[i],' command -',ar[i],' points'); end.
Популярно: Информатика
-
ekozhuhova15.12.2022 19:36
-
Danika0216.05.2023 09:42
-
Саби5120.03.2022 15:05
-
csmos08.02.2020 18:54
-
Сливенко07.01.2021 18:07
-
Кириииил23.02.2023 03:38
-
Polya6Б27.11.2022 19:18
-
mihapolube819.03.2022 23:57
-
FrenkieMC11.11.2021 10:59
-
максим1301123.09.2020 18:40