Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2018, 06:10   #1
Elena__67
Новичок
Джуниор
 
Регистрация: 11.03.2018
Сообщений: 1
По умолчанию Создать программу которая получает CSV - файл

Здравствуйте, Дали задание : напишите программу , которая получает CSV - файл(таблица), описывающий турнирную таблицу для четырех команд (при этом главная диагональ заполнена нулями) - (про нули вообще не понимаю как сделать).
Если команда 1 выигрывает у команды 2, то в первой строке во втором столбце ставится цифра 3, а во втором столбце ставится 0. В случае ничью в столбы обоих команд ставится 1. + программа должна подсчитывать и выводить итоговый результат всех команд в правильной последовательности. (т.е сначала очки команды - победительницы, затем команды, занявшей второе место и т.д). Конкретно я не могу понять как оформить выставление очков.
Вот начало (без главной диагонали, заполненной нулями)
Код:
var
 f : text;
 s,s1 : string;
 str_array : array of string;
 comands,points : array [1..4] of string;
 aa : array [1..4,1..4] of integer;
 i,j,final_res,n : integer;
   begin
   assign(f,'Команды.csv');
   reset(f);
   i := 1;
   while not (eof(f)) do
   begin
   readln(f,s);
   str_array := s.Split(';');
   j := 0;
   foreach s1 in str_array do
   begin
   write(s1,'');
   if (i=1) and (j>=1) then comands[j] := s1;
   if (i>1) and (j=0) then points[i-1] := s1;
   if (i>1) and (j>=1) then aa[i,j] := StrToInt(s1);
   j := j+1;
   end;
   writeln();
   i := i+1;
   end;
   close(f);
   assign(f,'Команды.csv');
   rewrite(f);
   for i := 1 to 4 do
   write(f,';',comands[i]);
   write(f,';','final_res');
   writeln(f,'');
    for i := 1 to 3 do
    begin 
    final_res := 0;
    n := 0;
  for  j := 0 to 4 do
    begin
    if j=0 then write (f,points[i],';')
      else
      begin 
      final_res := final_res+aa[1,j];
      n := n+1;
      write(f,aa[i+1,j],';');
      end;
Вроде поняла как заполнить главную диагональ :
Код:
 if (i=j) then aa[i,j] := 0;

Последний раз редактировалось Elena__67; 11.03.2018 в 06:53.
Elena__67 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу, которая в файл g записывает положительные числа, а файл h - отрицательные Гарри Паскаль, Turbo Pascal, PascalABC.NET 1 12.11.2015 22:43
подскажите с кодом: Напишите программу, принимающую на вход текстовый CSV-файл с таблицей и преобразующую эту таблицу в XML формат dima4239 Паскаль, Turbo Pascal, PascalABC.NET 20 01.10.2015 13:20
Создать программу, которая будет имитировать склад Андрей Иванов Помощь студентам 9 14.09.2015 22:25
как создать программу,которая... baykersha Помощь студентам 5 19.07.2013 13:35
Написать программу, преобразующую файл *.csv в файл *.xls Lamer_ok Фриланс 1 17.12.2011 14:24