Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 13.12.2007, 16:50   #1
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
Сообщение Помогите исправить код

Добрый вечер,господа,прошу вас посмотреть код и исправить ошибку.Заключается она в том,что у меня должен получиться '0*' в каждом столбце и каждой строке и кол- во нулей со звездочкой = размеру массива(во многих случаях это получается),но иногда получается,что '0*' стоят в одной и той же строке(столбце) посмотрите,пожалуйста код. Заранее благодарен.

З.Ы. Ошибка скорее всего в процедуре SecondStage или //"Находим независимые нули" в процедуре FirstStage (самое начало)
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 13.12.2007, 16:53   #2
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Чтото не пойму,не могу добавить вложение
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 13.12.2007, 17:09   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Жмем на кнопочку вложений - слева открывается окошко.
В нем открываем файл у себя на компьютере и жмем "загрузить".
Ждем, пока загрузится, и закрываем это окошко.
Вторично ищем кнопочку вложений над сообщением, жмем на ее правый край - выпадет список, в котором есть ваш только что залитый файл.
Выбираем его и появляется вставка в вашем сообщении со ссылкой на вложение...
mihali4 вне форума Ответить с цитированием
Старый 13.12.2007, 17:31   #4
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Я то знаю как это делается(уже делал),так вот у меня чтото кпопка неактивна
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 13.12.2007, 18:13   #5
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Посмотрите, хотя бы по кусочку кода,я думаю ошибка здесь.
Процедура строит цепочку: Находит свободный ноль, потом в этом столбце 0* потом в этой строке 0 или 0^ потом в этом столбце опять 0* и т.д. Но если уже мы чтото отметили в этой строке(столбце)также, искать далее
Код:
 procedure SecondStage(i,j,m:integer);
 //Процедура, для вычислений на втором этапе,
 //т.е. построение цепочки нулей и расстановка
 //их на "свои" места
 var
  t,y,uRow,uCol: word;
  bool,ThereIs1,ThereIs2: boolean;
 begin

  for i:= 1 to k+1 do
   begin
     for j:= 1 to k+1 do
      begin
        CheckZero:=true;
        for m:= 1 to k+1 do
          if StringGrid2.Cells[m,j] = '0*' then
           begin
            CheckZero:=false;
            break;
           end;
        if (StringGrid2.Cells[i,0] <> '+') and (StringGrid2.Cells[0,j] <> '+')
            and (CheckZero=true) and ((StringGrid2.Cells[i,j] = '0') or (StringGrid2.Cells[i,j] = '0^'))then
             begin
              StringGrid2.Cells[i,j]:= 'отм 0^';
              uCol:=i;
              repeat
                bool:= true;
                for uRow:= 1 to k+1 do
                 begin
                  ThereIs1:=true;
                  for t:= 1 to k+1 do
                   if StringGrid2.Cells[t,uRow] = 'отм 0*' then
                    ThereIs1:=false;
                  if (StringGrid2.Cells[uCol,uRow] = '0*') and (ThereIs1=true) then
                   begin
                    bool:=true;
                    StringGrid2.Cells[uCol,uRow] := 'отм 0*';
                    break;
                   end
                    else
                     bool:=false;
                 end;
                for uCol:= 1 to k+1 do
                 begin
                  ThereIs2:=true;
                  for y:= 1 to k+1 do
                   if StringGrid2.Cells[uCol,y] = 'отм 0^' then
                    ThereIs2:=false;
                  if ((StringGrid2.Cells[uCol,uRow] = '0^')or(StringGrid2.Cells[uCol,uRow] = '0'))and(ThereIs2=true) then
                   begin
                     bool:=true;
                     StringGrid2.Cells[uCol,uRow]:= 'отм 0^';
                     break;
                   end
                    else
                     bool:=false;
                 end
              until bool = false;
             end;
      end;
   end;

 for i:= 1 to k+1 do
  for j:= 1 to k+1 do
   begin
    if StringGrid2.Cells[i,j]= 'отм 0^' then
       StringGrid2.Cells[i,j]:= '0*';
    if (StringGrid2.Cells[i,j]= 'отм 0*') or (StringGrid2.Cells[i,j]= '0^') then
       StringGrid2.Cells[i,j]:= '0';
   end;

 for i:= 1 to k+1 do
  for j:= 1 to k+1 do
   begin
    StringGrid2.Cells[i,0]:= '';
    StringGrid2.Cells[0,j]:= '';
    if StringGrid2.Cells[i,j] = '0^' then
      StringGrid2.Cells[i,j]:= '0';
   end;

 end;
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 13.12.2007, 18:20   #6
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Извините,меня,пожалуйста, забыл что блокировал всплывающие окна,вот приложение
Вложения
Тип файла: rar MetOptim.rar (441.2 Кб, 16 просмотров)
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 16:40
Помогите исправить L_M Помощь студентам 3 08.06.2008 00:06
Помогите исправить NeiL Общие вопросы C/C++ 1 31.05.2008 12:31
Помогите исправить обработчик! Mr.User Помощь студентам 11 05.12.2007 22:09


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS