Список форумов Форум
Правила  •  FAQ  •  Поиск  •  Пользователи  •  Группы
Профиль  •  Войти и проверить личные сообщения  •  Вход  •  Регистрация 
 
 
Ассемблерная вставка!!! Сроки уже душат!!! HELP!!!
 
Начать новую тему   Ответить на тему    Список форумов Форум -> Помоги студенту!
Автор Сообщение
Человек



Репутация: 0   

ВУЗ: СПб ГУАП

Сообщения: 6
Стаж: 6 месяцев
Сообщение14.06.2007 2:22 Ассемблерная вставка!!! Сроки уже душат!!! HELP!!! Ответить с цитатой

Значит так: есть прога на паскале которая сортирует введенный randomom массив- в с троках элементы по возрастанию, а в столбцах по возрастанию сумм элементов. Проблема с ассемблером- надо сделать маленькую вставку которая будет складывать элементы строк. Сроки поджимают, а как сделать не знаю!!! Вот текст проги:

Код:
Uses U20071;

Var
  A0, A1 : byte;

Begin
  WriteLn;
  Randomize;
  For A0:= 1 to N do
  Begin
    For A1:= 1 to N do
    Data[ A0, A1 ]:= Random100;
    Ind[ A0 ]:= A0
  End;
  Assign( F, 'f20071-1.txt' );
  ReWrite( F );
  WriteData;
  Close( F );
  Sortirowka;
  Assign( F, '' );
  ReWrite( F );
  WriteData;
  Close( F );
  Assign( F, 'f20071-2.txt' );
  ReWrite( F );
  WriteData;
  Close( F );
  WriteLn;
  WriteLn;
readln;
End.


это основная прога. а вот модуль:

Код:
Unit U20071;

Interface

Const
  N=8; { <=10 }

Var
  Data : array[ 1..N, 1..N ] of integer;
  Sum : array[ 1..N ] of longint;
  Ind : array[ 1..N ] of byte;
  F : text;

Procedure WriteData;
Procedure Sortirowka;

Implementation

Procedure WriteData;

Var
  A0, A1 : byte;

Begin
  For A0:= 1 to N do
  Begin
    For A1:= 1 to N do
    Begin
      Write( F, Data[ Ind[ A0 ], A1 ] );
      If A1<N Then Write( F, #9 )
    End;
    If A0<N Then WriteLn( F )
  End
End;

Procedure Sortirowka;

Var
  A0, A1, A2 : byte;
  I0 : integer;

Begin
  For A0:= 1 to N do
  For A1:= 1 to N - 1 do For A2:= 1 to N - 1 do
  If Data[ A0, A2 ]>Data[ A0, A2 + 1 ] Then
  Begin
    I0:= Data[ A0, A2 + 1 ];
    Data[ A0, A2 + 1 ]:= Data[ A0, A2 ];
    Data[ A0, A2 ]:= I0
  End;
{Sum}
  For A0:= 1 to N do
  Begin
    Sum[ A0 ]:= 0;
    For A1:= 1 to N do Sum[ A0 ]:= Sum[ A0 ] + Data[ A0, A1 ]
  End;
{Sum}
  For A0:= 1 to N - 1 do
  For A1:= 1 to N - 1 do
  If Sum[ Ind[ A1 ] ]>Sum[ Ind[ A1 + 1 ] ] Then
  Begin
    I0:= Ind[ A1 + 1 ];
    Ind[ A1 + 1 ]:= Ind[ A1 ];
    Ind[ A1 ]:= I0
  End
End;

End.


тот кусок который надо оформить в ассемблере отмечен {Sum} сверху и снизу. Если нельзя прям в тексте то сделайте хоть отдельно складывание элементов. Заранее спасибо))) Человек.

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Человек



Репутация: 0   

ВУЗ: СПб ГУАП

Сообщения: 6
Стаж: 6 месяцев
Сообщение15.06.2007 10:46 Ответить с цитатой

Народ, не бросайте, помогите пожалуйсто. Жопа в вузе. Коренева убьет!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Человек



Репутация: 0   

ВУЗ: СПб ГУАП

Сообщения: 6
Стаж: 6 месяцев
Сообщение08.07.2007 17:52 Ответить с цитатой

В общем еще раз привет Гы-гы-гы! . На этот раз мне нужен код для нахождения собственных векторов и чисел симметричной матрици размера 5*5. Может у кого еть, напишите. Плиз.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум -> Помоги студенту! Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы


На главную •  RSS-лента •  PDA-версия
 
Powered by phpBB © 2001, 2007 phpBB Group
Hosted by INFOBOX