ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1121  
Старый 22.02.2009, 20:34
Аватар для A2GIL
A2GIL
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме:
422909

Репутация: 200
Отправить сообщение для A2GIL с помощью ICQ
По умолчанию

Есть сортировка массива (tasm):

Код:
masm
model small
.data
 message1 db  10,13, 'Primary array : $',10,13
 message2 db 10,13, 'Sorted array : $',10,13
 promt    db 10,13,10,13,'Press any key to exit...$'
 len equ 9
 mas dw 2,7,4,0,1,9,3,6,5,8
 tmp dw 0
 i dw 0
 j dw 0
.stack
.code 


main:
  mov ax,@data
  mov ds,ax
  mov ah,9
  mov dx,offset message1
  int 21h
 
  mov cx,10
  mov si,0

_outputArray:
  mov ah,2
  mov dx,mas[si]
  add dl,30h
  int 21h
  add si,2
  loop _outputArray

  ; for (i=0;i<9;i++)
  ;  for (j=9;j>i;j--)
  ;    if (mas[i]>mas[j])
  ;      {tmp=mas[i];
  ;      mas[i]=mas[j];
  ;      mas[j]=tmp;}
  
 sort:
   mov j,9
   jmp cyclj
     xchng:
       mov bx,i
       shl bx,1
       mov ax,mas[bx]
	   mov bx,j
	   shl bx,1
	   cmp ax,mas[bx]
	   jle lesser 
       mov tmp,ax
       mov ax,mas[bx]
       mov bx,i
       shl bx,1
       mov mas[bx],ax
       mov bx,j
       shl bx,1
       mov ax,tmp
       mov mas[bx],ax
     lesser:
       dec j
       cyclj:
       mov ax,j
       cmp ax,i
       jg xchng
       inc i
       cmp i,len
       jl sort
  mov ah,9
  mov dx, offset message2
  int 21h
  mov cx,10
  mov si,0
 _outputSortedArray:
  mov dx,mas[si]
  add dl,30h
  mov ah,2
  int 21h
  add si,2
  loop _outputSortedArray
  
  mov ah,9
  mov dx,offset promt
  int 21h
  mov ah,1
  int 21h
  
  mov ah,4ch
  int 21h

end main
Не подскажет кто-нибудь как учитывать еще и знак числа? Сортирует только положительные числа...

Последний раз редактировалось A2GIL; 23.02.2009 в 15:09..
 
Ответить с цитированием

  #1122  
Старый 22.02.2009, 23:11
Аватар для sid-asb
sid-asb
Новичок
Регистрация: 22.02.2009
Сообщений: 1
Провел на форуме:
9473

Репутация: 0
По умолчанию

Помогите кто можэт , задание написать программу в С++builder 6 обробатывающую вектор, добавление нового элемента, удаление элемента, изменение, поиск максимального и минимального значения , в принцепи все ужэ зделал но препод спалил что удаление элемента работает каряво а в принцепи не работает, когда удаляется элемент то поиск минимального значения всегда показывает 0, то есть элемент получается не удаляется а заменяется на ноль , ПОМОГИТЕ кто можэт что нужно дописать чтоб нормально удалялся элемент!!! .

Код:
//---------------------------------------------------------------------------
#include <iostream>
# include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

int i, j, k, n, is_null;
 float tmp;
 char c;
 FILE *fp;
 float **mas;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{
        is_null=1;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::RazmerClick(TObject *Sender)
{
      for (i=0;i<SG1->ColCount;i++)
        for (j=0;j<SG1->RowCount;j++)
          {SG1->Cells[i][j]="";
           SG1->Cells[i][j].Delete(i,1);
          }
       SG1->ColCount = StrToInt(Edit1->Text);
     }
//---------------------------------------------------------------------------
void __fastcall TForm1::MaxClick(TObject *Sender)
{
    if (is_null!=1)  //î÷èñòèòü ïàìÿòü îò ñòàðîãî ìàññèâà
    {
     for(i=0; i<n; i++)  delete[] mas[i];
     delete[] mas;
    }

    //íîâîå êîëè÷åñòâî ýë-òîâ
   n = StrToInt(Edit1->Text);
   mas = new float *[n];
   for (i = 0; i < n; i++)
     mas[i] = new float [n];

   //ñ÷èòûâàíèå èç String Grid 1 â ìàññèâ
   for (i=0; i<n; i++)
   for (j=0; j<n; j++)
     { if (SG1->Cells[i][j]!="")
         mas[j][i]=StrToFloat(SG1->Cells[i][j]);
       else mas[j][i]=0;
     }

     //ïîèñê ìàêñèìàëüíîãî çíà÷åíèÿ

   i=0;
    for (j=0; j<n; j++)
     {
      if (mas[i][j]>tmp)
        tmp = mas[i][j];
     }
    //âûâîä â String Grid 2

   Edit2->Text = FloatToStr(tmp);

   //ðåçóëüòàò ïîèñêà â òåêñòîâûé ôàéë
   fp = fopen("max.txt", "w");
     {
      fprintf(fp," %.2f  ",tmp);
      fprintf(fp,"\n");
     }
   fclose(fp);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    if (is_null!=1)   //åñëè ïàìÿòü ïîä ìàññèâ âûäåëåíà, îñâîáîäèòü
  {
    for(i=0; i<StrToInt(Edit1->Text); i++)  delete[] mas[i];
    delete[] mas;
  }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::MinClick(TObject *Sender)
{
    if (is_null!=1)  //î÷èñòèòü ïàìÿòü îò ñòàðîãî ìàññèâà
    {
     for(i=0; i<n; i++)  delete[] mas[i];
     delete[] mas;
    }

    //íîâîå êîëè÷åñòâî ýë-òîâ
   n = StrToInt(Edit1->Text);
   mas = new float *[n];
   for (i = 0; i < n; i++)
     mas[i] = new float [n];

   //ñ÷èòûâàíèå èç String Grid 1
   for (i=0; i<n; i++)
   for (j=0; j<n; j++)
     { if (SG1->Cells[i][j]!="")
         mas[j][i]=StrToFloat(SG1->Cells[i][j]);
       else mas[j][i]=0;
     }

     //ïîèñê ìèíèìàëüíîãî çíà÷åíèÿ

   i=0;
     for (j=0; j<n; j++)
     {
      if (mas[i][j]<tmp)
       tmp = mas[i][j];
     }

    //âûâîä â Edit3
    Edit3->Text = FloatToStr(tmp);

   //ðåçóëüòàò ïîèñêà â òåêñòîâûé ôàéë
   fp = fopen("min.txt", "w");
     {
      fprintf(fp," %.2f  ",tmp);
      fprintf(fp,"\n");
     }
   fclose(fp);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::N2Click(TObject *Sender)
{
 Close();        
}
//---------------------------------------------------------------------------
 
Ответить с цитированием

  #1123  
Старый 25.02.2009, 22:06
Аватар для Si{R}ius
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

Репутация: 52
По умолчанию

Пишу модуль на Паскале. По сути написал, но не пойму, что надо указывать в разделе инициализации( Гляньте, плиз, а то кодер с меня пока не очень

Код:
unit unitd;
Interface
uses crt;
type massiv=array[1..100,1..100] of real;
     massiv1=array[1..100] of real;
Implementation
procedure matri(var a:massiv);
procedure Matr_Prakt(a:massiv; var koor:massiv1);
procedure Funkcia(koor:massiv1);

procedure matri;
var
i,j:byte;
function new:real;
begin
 new:=((2-sqr(i-3))/i)*(j-5.7);
 end;
begin
clrscr;
for i:=1 to 10 do
 for j:=1 to 10 do
 a[i,j]:=new;
for i:=1 to 10 do begin
 writeln;
 for j:=1 to 10 do
 write(a[i,j]:8:2);
 end;
 readkey;
end;


procedure Matr_Prakt;
type massiv=array[1..100,1..100] of integer;
     massiv1=array[1..500] of integer;
var   q,n,n1,max_stolb:integer;
i,j:byte;
       x:massiv1;



begin
i:=1;
max_stolb:=1;
for j:=2 to N do
if a[i,j]>a[i,j-1] then max_stolb:=j;

for i:=1 to N do
for j:=1 to N do
koor[i]:=koor[i]+a[i,j]*a[j,max_stolb];

write('a(',koor[1]);
for i:=2 to n do
write(',',koor[i]);
write(')');
writeln;
writeln;
readln;
end;


procedure Funkcia;
var U:real;
qwer,a,i,n,chisl,znam:integer;
q1,q2:real;

function F(b:real; var a:real):integer;

begin
a:=a+b;
end;

begin
for i:=1 to n do
if koor[i]<=1 then f(koor[i],q1);
for i:=1 to n do
if koor[i]>1 then f(koor[i],q2);

U:=(1+q1)/(2+q2);
writeln(u);
readln;
writeln;
writeln;
end;

begin
matri;
Matr_Prakt;
Funkcia;
end.
 
Ответить с цитированием

  #1124  
Старый 27.02.2009, 10:04
Аватар для snAKe33
snAKe33
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме:
3226894

Репутация: 379
Отправить сообщение для snAKe33 с помощью ICQ
По умолчанию

Делфи!
Вычислить площадь плоской фигуры, заключенной между дугами кривых:
y(x)=-Ln(x) и y(x)=R-x
При каком значении R площадь этой фигуры не превышает единицы.
 
Ответить с цитированием

  #1125  
Старый 02.03.2009, 03:57
Аватар для Moldman
Moldman
Участник форума
Регистрация: 12.06.2007
Сообщений: 153
Провел на форуме:
1990548

Репутация: 58
Отправить сообщение для Moldman с помощью ICQ Отправить сообщение для Moldman с помощью AIM Отправить сообщение для Moldman с помощью MSN Отправить сообщение для Moldman с помощью Yahoo
По умолчанию

Pascal

Задание 1
Имеется склад, на котором присутствует некоторый ассортимент товаров. Запас каждого товара неограничен. У каждого товара своя стоимость Ci и масса mi. Написать программу, которая методом динамического программирования формирует такой набор товаров, чтобы его суммарная масса не превышала заданную грузоподъемность М, и стоимость была бы максимальной. На экран вывести промежуточные вычисления, сформированный набор, его стоимость и массу.





Задание 2
Написать программу, которая оптимальным образом расставляет скобки при перемножении матриц. Размерности матриц считать из файла. На экран вывести промежуточные вычисления и результат.

М1[5x4], M2[4x7], M3[7x3], М4[3x8], M5[8x3], M6[3x7], M7[7x2], M8[2x2].

за правильное решение +
 
Ответить с цитированием

  #1126  
Старый 02.03.2009, 15:57
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Moldman  
Задание 2
Написать программу, которая оптимальным образом расставляет скобки при перемножении матриц. Размерности матриц считать из файла. На экран вывести промежуточные вычисления и результат.

М1[5x4], M2[4x7], M3[7x3], М4[3x8], M5[8x3], M6[3x7], M7[7x2], M8[2x2].
Оптимально по чем? По числу операций, по объему памяти, по быстродействию?
 
Ответить с цитированием

  #1127  
Старый 02.03.2009, 18:48
Аватар для Moldman
Moldman
Участник форума
Регистрация: 12.06.2007
Сообщений: 153
Провел на форуме:
1990548

Репутация: 58
Отправить сообщение для Moldman с помощью ICQ Отправить сообщение для Moldman с помощью AIM Отправить сообщение для Moldman с помощью MSN Отправить сообщение для Moldman с помощью Yahoo
По умолчанию

по объему памяти
 
Ответить с цитированием

  #1128  
Старый 02.03.2009, 21:51
Аватар для Unregistered
Unregistered
Познающий
Регистрация: 15.01.2009
Сообщений: 37
Провел на форуме:
628486

Репутация: 26
По умолчанию

Дано действительное число y, натуральное число n и сгенерированное случайное действительное число x (x=0…n). Вычислить . Вивести дробовую часть результата. IDE: Borland Pascal 7.0.
 
Ответить с цитированием

  #1129  
Старый 02.03.2009, 23:39
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Moldman  
Задание 2
Написать программу, которая оптимальным образом расставляет скобки при перемножении матриц. Размерности матриц считать из файла. На экран вывести промежуточные вычисления и результат.

М1[5x4], M2[4x7], M3[7x3], М4[3x8], M5[8x3], M6[3x7], M7[7x2], M8[2x2].
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TMatrixInfo =
  record
    size: array [0..1] of integer;
    desc: string;
  end;

  TMatrixes =
    array [0..7] of TMatrixInfo;


var bestSolveMemoryVolume: integer;
    bestSolve: TMatrixes;
    matrixSizes: TMatrixes;


procedure GenerateSolves(solve: TMatrixes; count: integer; maxMemoryVolume: integer);
var memoryVolume:integer;
    i, j: integer;
    newSolve: TMatrixes;
begin
 
  if count=1 then
  begin
    //построение варианта решения - закончено
    //проверяем - лучшее ли оно ?
    if (maxMemoryVolume < bestSolveMemoryVolume) then
      begin
      bestSolveMemoryVolume :=  maxMemoryVolume;
      bestSolve := solve;
      end;
    exit;
  end;

  {строим варианты решения}
  for i:=0 to count-2 do
  begin
    for j:=0 to count-2 do
    if(j<i) then
      begin
        //копируем элементы
        newSolve[j].size[0] := solve[j].size[0];
        newSolve[j].size[1] := solve[j].size[1];
        newSolve[j].desc := solve[j].desc;
      end
    else
    if j=i then
      begin
        //имитируем произведение матриц i и i+1
        newSolve[j].size[0] := solve[j].size[0];
        newSolve[j].size[1] := solve[j+1].size[1];
        newSolve[j].desc := '('+solve[j].desc+'*'+solve[j+1].desc+')';
        //счтаем сколько памяти нужено под новую матрицу
        memoryVolume := newSolve[i].size[0]*newSolve[i].size[1];
        if(memoryVolume>maxMemoryVolume) then
            maxMemoryVolume :=memoryVolume;
      end
    else
      begin
        //копируем элементы
        newSolve[j].size[0] := solve[j+1].size[0];
        newSolve[j].size[1] := solve[j+1].size[1];
        newSolve[j].desc := solve[j+1].desc;
      end;
    //если текущее решение уже хуже лучшего, то не продолжаем дальше
    if maxMemoryVolume>bestSolveMemoryVolume then
      exit;
    //моделируем следующее перемножение
    GenerateSolves(newSolve, count-1, maxMemoryVolume);
  end;
 
end;


begin
matrixSizes[0].size[0] :=5;
matrixSizes[0].size[1] :=4;
matrixSizes[0].desc := 'M[5x4]';
matrixSizes[1].size[0] :=4;
matrixSizes[1].size[1] :=7;
matrixSizes[1].desc := 'M[4x7]';
matrixSizes[2].size[0] :=7;
matrixSizes[2].size[1] :=3;
matrixSizes[2].desc := 'M[7x3]';
matrixSizes[3].size[0] :=3;
matrixSizes[3].size[1] :=8;
matrixSizes[3].desc := 'M[3x8]';
matrixSizes[4].size[0] :=8;
matrixSizes[4].size[1] :=3;
matrixSizes[4].desc := 'M[8x3]';
matrixSizes[5].size[0] :=3;
matrixSizes[5].size[1] :=7;
matrixSizes[5].desc := 'M[3x7]';
matrixSizes[6].size[0] :=7;
matrixSizes[6].size[1] :=2;
matrixSizes[6].desc := 'M[7x2]';
matrixSizes[7].size[0] :=2;
matrixSizes[7].size[1] :=2;
matrixSizes[7].desc := 'M[2x2]';

bestSolveMemoryVolume := MaxInt;
//перебираем все возможные варианты, ищем лучший вариант
GenerateSolves(matrixSizes, 8, 0);

//рисуем решение
Writeln(bestSolve[0].desc);
Writeln('Max matrix: '+ intToStr(bestSolveMemoryVolume) + ' items');

Readln;

end.

Последний раз редактировалось Algol; 02.03.2009 в 23:52..
 
Ответить с цитированием

  #1130  
Старый 03.03.2009, 01:05
Аватар для snAKe33
snAKe33
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме:
3226894

Репутация: 379
Отправить сообщение для snAKe33 с помощью ICQ
По умолчанию

Цитата:
Сообщение от snAKe33  
Делфи!
Вычислить площадь плоской фигуры, заключенной между дугами кривых:
y(x)=-Ln(x) и y(x)=R-x
При каком значении R площадь этой фигуры не превышает единицы.
сможет мне помочь кто-нибудь?!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ