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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 04:59   #1
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
Печаль

Доброе утро!
вот собственно все утро решал себе на лабу задачку:
Таблица футбольного чемпионата задана квадратной матрицей порядка N, в которой все элементы главной диагонали не используются, а каждый элемент, не принадлежащий главной диагонали, равен количеству очков, набранных в игре с командой, игравшей на своем поле: 2-выйгрыш; 1- ничья; 0-поражение. Для команды i(1<=i<=N) в строке i указано количество очков, полученных на своем поле, а в столбце i – кол-во очков, потерянных на чужом поле. Найти: номера команд, выигравших более половины игр. Сформировать список команд, учувствовавших в чемпионате, и номера команд, не имевших поражений в чемпионате.

Сделал код, почти все задание сделать, только никак не получается сформироваться список команд, участвовавших в чемпионате, и номера команд, не имевших поражений..:
Код:
program xxc;
uses crt;
var tabl:array [1..100,1..100] of integer;{матрица}
    i,j:integer;{идексы}
    n:integer;{размерность матрицы}
    s:integer;{сумма очков для команды}
    oks:integer;{внутрикомандные очки}
    res:array[1..100] of integer;{масств сумм}
    q:integer;{индексы массива res}
begin
clrscr;
Writeln('Vvedite N');
Readln(N);
Randomize;
{заполняем случайно таблицу}
for i:=1 to n do
 for j:=1 to n do
   tabl[i,j]:=random(3);
{обнуляем } 
for i:=1 to n do tabl[i,i]:=0;
Writeln('Ishodnaya matrica =');
{выводим получившуюся матрицу}
 for i:=1 to n do begin
  for j:=1 to n do 
    Write(' ',tabl[i,j]);Writeln;
  end;
{Выводим номера команд, выйгравших больше половины игр}
Writeln('Nomera komand, vyigravshih bolshe poloviny igr:');
s:=0;{обнуляем сумму для команды}
oks:=0;{обнуляем внутрикоммандную сумму}
for i:=1 to n do 
  begin 
    for j:=1 to n do
      begin
        s:=s+tabl[i,j]+tabl[j,i];
        if s>oks then oks:=s;{поиск максимальной суммы команды}
       end;
      if oks>((n-1)*2) then Writeln('Nomer komandy - ',i,' ;Summa ballov: = ',s);       
      s:=0;        
   end;
{Выводим список команд по убыванию в очках}
?
readln;
end.
Помогите пожалуйста!!!(

Помогите плиззз, осталось всего то ничего ....Сформировать список команд, учувствовавших в чемпионате, и номера команд, не имевших поражений в чемпионате. а у меня не получается..

Последний раз редактировалось CodeExpert; 09.11.2009 в 08:57.
CodeExpert вне форума Ответить с цитированием
Старый 09.11.2009, 09:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сформировать список команд, учувствовавших в чемпионате
Ну пройдись ты по строкам матрицы и write(tabl[i,j])
Цитата:
и номера команд, не имевших поражений в чемпионате.
Код:
for i:=1 to n do 
  begin 
    for j:=1 to n do
      begin
       if tabl[i,j]>0 then выводим на экран и break
      end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2009, 09:14   #3
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
По умолчанию

Мне вообще подсказали реализовать так:
Считаем 2-ки в строке + 0 в столбце и если сумма больше чем сумма нулей минус 2 значит команда выйграла больше половины матчей...
вот только реализовать никак не могу..помогите!

Ну ладн, а если даж такое условие:
.Найти кол-во команд. имевших больше побед чем поражений и номера команд не имвеших поражений? как это реализовать?

Последний раз редактировалось Stilet; 09.11.2009 в 09:32.
CodeExpert вне форума Ответить с цитированием
Старый 09.11.2009, 09:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мне никак не понятно:
Цитата:
Сформировать список команд, учувствовавших в чемпионате
Но у тебя нет команд которые не учавствовали в чемпионате. А если и есть нафинта их в таблицу записывать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дописать код в файл! Trol-100 Общие вопросы C/C++ 8 24.10.2009 17:49
Помогите в Builder 6 дописать код!!! bee_uk C++ Builder 7 29.05.2009 23:56
Требуется дописать код в Dll библиотеке. sas784 Фриланс 11 20.01.2009 19:03
Помогите дописать код Черничный Общие вопросы Delphi 2 24.10.2008 00:08
Помогите дописать мои код поиска! AlexII Общие вопросы Delphi 5 17.05.2008 20:07