Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: bad.76   (19.01.2007 в 14:58)
там вв полученом вами пакете есть экзешный фаил который запускает готовую програму.
сортировка там работает отлично но окна где должны показываться четные и не четные числа показывают все что угодно не то что надо. ошибка в написании програмы. мне просто не хватает знаний как вывисти на экран переменые r и t

вот примерно сдесь:

#include "afxwin.h"

#define IDC_Ed 100
#define IDC_But 101
#define IDI_ICO 102
//////////////////////////////////////////////////////////////////////////////////////////////
int u=0;

int A[50];
int B[50];
int C[50];
//////////////////////////////////////////////////////////////////////////////////////////////


void shell_sort(int A[], int size)
{
int i, j, incrmnt, temp,r,t;

incrmnt = size/2;
while (incrmnt > 0)
{
for (i = incrmnt; i < size; i++)
{
j = i;
temp = A[i];
while ((j >= incrmnt) && (A[j-incrmnt] > temp))
{
A[j] = A[j - incrmnt];
j = j - incrmnt;
}
A[j] = temp;
}
incrmnt /= 2;
}
if(i%2==0){i=r;} сдесь я определ чет не чет если чет то r не чет t
else {i=t;}
}
//////////////////////////////////////////////////////////////////////////////////////////////
CEdit* Edit;
CEdit* Edit2;
CEdit* Edit3;
CEdit* Edit4;
//////////////////////////////////////////////////////////////////////////////////////////////
class CBut:public CButton
{
public:
CBut(){};
~CBut(){};
afx_msg void OnLButtonDown(UINT nFlags,CPoint Point);
protected:
DECLARE_MESSAGE_MAP();
};

BEGIN_MESSAGE_MAP(CBut,CButton)
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()

void CBut::OnLButtonDown(UINT nFlags,CPoint Point)
{
u=0;
Edit->SetWindowText("");
Edit2->SetWindowText("");
Edit3->SetWindowText("");
Edit4->SetWindowText("");
}
//////////////////////////////////////////////////////////////////////////////////////////////
class CEd:public CEdit
{
public:
CEd(){};
afx_msg void OnKeyDown(UINT nChar);
~CEd(){};
protected:
DECLARE_MESSAGE_MAP();
};

BEGIN_MESSAGE_MAP(CEd,CEdit)
ON_WM_KEYDOWN()
END_MESSAGE_MAP()

void CEd::OnKeyDown(UINT nChar)
{
if (nChar==VK_RETURN)
{
char st[10];
CString w(st);
this->GetWindowText(w);
int temp=atoi(w);
A[u]=temp;
u++;
shell_sort(A,u);
this->SetWindowText("");
Edit2->SetWindowText("");
CString qw;
Edit2->GetWindowText(qw);
for(int i=0;i<u;i++)
{itoa(A[i],st,10);
Edit2->SetWindowText(qw+" "+(CString)st);
Edit2->GetWindowText(qw);
}

this->SetWindowText("");
Edit3->SetWindowText("");
Edit3->GetWindowText(qw);
for(int r=0;r<u;r++) сдесь должно по идеи довать
{itoa(B[r],st,10); команду на ввывод
Edit3->SetWindowText(qw+" "+(CString)st);
Edit3->GetWindowText(qw);
}


shell_sort(C,u);
this->SetWindowText("");
Edit4->SetWindowText("");
Edit4->GetWindowText(qw); и сдесь
for(int t=0;t<u;t++)
{itoa(C[t],st,10);
Edit4->SetWindowText(qw+" "+(CString)st);
Edit4->GetWindowText(qw);
}
}
}

/////////////////////////////////////////////////////////////////////////////////////////////////

но тут не правельно написано, а как надо я не знаю, а время поджимает

Программа была написана на языке высокого уровня С++, а точнее создавалась и компилировалась в программной оболочке Microsoft Visual C++ 6.0. Стоит отметить, что оконная реализация программы использует библиотеку классов MFC и для удачной компиляции программы требуется следующее: Во-первых, создать проект вида Win32 Application;
Во-вторых, в настройках проекта(Project->Settings или Alt-F7) на вкладке Общие (General) в подразделе Microsoft Foundation Classes выбрать Use MFC


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: