вторник, 9 мая 2017 г.

Матрица 8 на 8 значений ( С++ )

Программа "RndTab_8x8"

В этом сообщении вы узнаете как сделать матрицу с 8 столбцами и 8 строчками, в каждой ячейке будет появляться рандомное число. После чего таблицу из этих рандомных чисел программа будет записывать в блокнот. 




Как же это сделать?

Сделать это очень легко!


Создаем планшетку с стандартными настройками в VisualStudio и называем ее Programm

Заходим в Solution Explorer и там выбираем папку Header Files а потом ProgrammDlg.h

Там вписываем этот блок: ( в самом конце )

private:

COLORREF cf, c[25];
HFONT hold, hNew, hbk;
HPEN hPenOxy, hOldPen, pen;
HBRUSH m, oldm, brush;
CPen d, oldd;
CBitmap pic;
CRect rc, w, kw[30];
CString ms, t, z;
int Matrix[50][50];
int x1, y1, x2, y2, x3, y3, x4, y4;
int RH, RW, k, i, j, p, x, y, cx, cy, dx, dy;

bool fg;

Теперь открываем планшетку и берём из ToolBox: static text, button(c названием "ГЕНЕРИРОВАТЬ")

Добавляем переменную для статического текста (Е).

Добавляем обработчик событий для кнопки, в котором вставляем все это:


ms = "\n\tИсходная матрица:\n\n";
//Записываем в переменную данный текст
int a = 10;
int b = 99;
int TAB[8][8];
// ТАБ-наша таблица(матрица) 8х8
for (k = 0; k < 8; k++)
{
for (i = 0; i < 8; i++)
{
TAB[k][i] = a + rand() % (b - a + 1);
int p = TAB[k][i];
t.Format(L"\t%i", p);
ms += t;
}
ms += "\n";
}
E.SetWindowTextW(ms);

//блок вывода на экран нашей таблицы

setlocale(LC_ALL, "rus");
CStdioFile inf(L"d:\\temp\\data.txt", CFile::modeCreate | CFile::modeWrite);
inf.WriteString(ms); // записать в файл
inf.Flush();
inf.Close();
ShellExecute(m_hWnd, L"open", L"d:\\temp\\data.txt", NULL, NULL, SW_SHOWDEFAULT);
//блок вывода данных в файл


Наша "матрица" готова , нажимаем F5 и нажимаем "ГЕНЕРИРОВАТЬ"

Комментариев нет:

Отправить комментарий