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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 13.09.2009, 18:44   #1
pony
Новичок
 
Регистрация: 06.09.2009
Сообщений: 2
Репутация: 10
По умолчанию найдите ошибку в коде

не могу найти ошибку в коде.метод dubl должен дублировать столбцы где все числа являются перестановкой чисел первого столбца,функция perestanovka проверяет это.Просто я весь день сижу и голова мягко сказать уже не варит,а прога не пашет. Оч нужна ваша помощь
Код:
program laba1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type MATRIX = class
    public
      a: array [1..100,1..100] of Integer;
      n,m,i,j: Integer;
      procedure vvod;
      procedure vyvod;
      procedure dubl;
      constructor create;
    function perestanovka(i: integer):boolean;
      destructor destroy; override;
  end;


 Constructor MATRIX.create;
 begin
   inherited Create ;
 end ;

 destructor MATRIX.destroy;
 begin
   inherited destroy;
 end;

 procedure MATRIX.vvod;
 var i,j: Integer;
 begin
   Writeln('vvedite chislo strok i stolbcov');
   Readln (n,m);
   Writeln('vvedite elementy massiva');
   for i:=1 to n do
   for j:=1 to m do
   Readln(a[i,j]);
   end ;
   procedure MATRIX.vyvod;
     var i,j: Integer;
 begin
   for i:=1 to n do
     begin
      for j:=1 to m do
      write(a[i,j]:5);
      writeln;
     end;
   //Writeln ('':j*3+2,'':i+3,a[i,j]);
   readln;
 end;

procedure MATRIX.dubl;
function perestanovka (i: integer):boolean;
 var
   d,k,t,p: integer;
   b: array [1..100] of integer;
   fl,flag: boolean;
   begin
    fl:=false;
    for d:=1 to m do
     b[d]:=1;
    for k:=1 to m do
       begin
          t:=1;
          p:= a[i,k];
          while (not(fl)) and (t<=n) do
          begin
            if a[1,t]=p then
              if b[t]=1 then
                begin
                 b[t]:=0;
                 fl:=true;
                end;
            inc(t);
          end;
       end;
     d:=1;
     flag:=true;
     while (d<=m) and (flag) do
        begin
           if b[t]= 1 then
           begin
               perestanovka:= false;
               flag:= false;
           end;
           inc(d);
        end;
     if flag then
     perestanovka:= true;

   end;
 var
 f,w:integer;
   begin
      i:=1;
      while i<=n do
      if perestanovka(i) then
         begin

             for f:=n downto i do
             a[i,j+1]:=a[i,j];
             inc(i,2);

         end
         else inc(i);
   end;
  var
  c: MATRIX;

 begin

 c:=MATRIX.create;
 c.vvod;
 c.dubl;
 c.vyvod;
 c.destroy;
 end.

Последний раз редактировалось Stilet; 14.09.2009 в 10:02.
pony вне форума   Ответить с цитированием
Старый 14.09.2009, 10:03   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,840
Репутация: 6850
По умолчанию

Цитата:
все числа являются перестановкой чисел первого столбца
В каком смысле "перестановкой"?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите ошибку St1fler92 Помощь студентам 4 26.05.2009 15:23
Найдите ошибку пожалуйста..рекурсия Влад-mego Помощь студентам 0 09.04.2009 21:40
найдите ошибку Сова Паскаль 9 11.02.2009 19:46
НАЙДИТЕ ОШИБКУ В ПРОГРАММЕ svetah Помощь студентам 8 03.12.2008 16:19
Найдите ошибку! geniy JavaScript, Ajax 4 04.12.2007 17:22


08:38.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.