Напишите программу, которая получает csv файл, описывающий турнирную таблицу для 4 команд (при этом главная диагональ данного файла заполнена нулями). описание: если команда 1 выигрывает у команды 2, то в первой строке во втором столбце ставится цифра 3 (команда за победу получает 3 очка), а во второй строке в первом столбце ставится 0 (за поражение команда получает 0 очков; если эти команды играют вничью, то в соответствующих ячейках ставится по 1 (за ничью каждая команда получает по 1 очку). программа должна подсчитывать итоговый результат команд (сумма очков по строке) и выводить их в последовательности, в которой они прошли чемпионат (сначала номер и количество очков команды-победительницы, затем – команды, занявшей второе место и т. паскаль.
144
461
Ответы на вопрос:
//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.
Uses crt; var d, a, b, c, x1, x2: real; begin writeln('введите a, b, c'); readln(a, b, c); d : = b * b - 4 * a * c; if d > 0 then begin x1 : = (-b + sqrt(d)) / (2 * a); x2 : = (-b - sqrt(d)) / (2 * a); writeln('x1 = ', x1: 2: 2); writeln('x2 = ', x2: 2: 2); end else if d = 0 then begin x1 : = -b / (2 * a); writeln('x = ', x1: 2: 2); end else writeln('нет действительных корней'); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
girina21048217.08.2021 18:17
-
итимиотмсморввш10.09.2020 09:11
-
WoRT109.04.2020 14:48
-
567899876518.07.2022 23:42
-
rgn12311.06.2022 03:22
-
Евгеша20011115.03.2021 20:30
-
madik072128.05.2021 14:28
-
astatined11.03.2020 03:41
-
сьдвщы29.01.2023 14:53
-
кемпінг29.05.2021 03:26
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.