Разработка программы для выполнения обработки двухмерных массивов
Разработка программы для нахождения минимального и максимального элемента массива, вычисления среднего арифметического строк и столбцов транспортирования матриц. Характеристика основных программных средств. Описание программы, руководство пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.04.2015 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm1:: N7Click (TObject *Sender)
{
if (Form1->OpenDialog1->Execute ())
{
Form2->Memo1->Lines->Clear ();
for (i=1; i<n+1; i++)
for (j=1; j<m+1; j++)
{
Form1->StringGrid1->Cells [j] [i] ="";
}
for (i=1; i<k+1; i++)
for (j=1; j<l+1; j++)
{
Form1->StringGrid2->Cells [j] [i] ="";
}
Form1->Label12->Caption="";
Form1->Label13->Caption="";
Form1->Label14->Caption="";
Form1->Label15->Caption="";
Form1->Label12->Visible=false;
Form1->Label13->Visible=false;
Form1->Label14->Visible=false;
Form1->Label15->Visible=false;
TStringList*File=new TStringList;
File->LoadFromFile (Form1->OpenDialog1->FileName);
str=File [0] [0];
st=File [0] [1];
n=StrToInt (str);
m=StrToInt (st);
a= (n*m) +2;
h=1;
Form1->StringGrid1->ColCount=n;
Form1->StringGrid1->RowCount=m;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{ h++;
Form1->StringGrid1->Cells [j+1] [i+1] =File [0] [h];
}
Form1->StringGrid1->Visible=true;
gh=File [0] [a];
lk=File [0] [a+1];
k=StrToInt (gh);
l=StrToInt (lk);
Form1->StringGrid1->ColCount=m+1;
Form1->StringGrid1->RowCount=n+1;
Form1->StringGrid1->FixedCols=1;
Form1->StringGrid1->FixedRows=1;
Form1->StringGrid2->ColCount=l+1;
Form1->StringGrid2->RowCount=k+1;
Form1->StringGrid2->FixedCols=1;
Form1->StringGrid2->FixedRows=1;
Form1->StringGrid1->Cells [0] [0] ="i / j";
Form1->StringGrid2->Cells [0] [0] ="i / j";
for (i=1; i<n+1; i++)
{
Form1->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<m+1; j++)
{
Form1->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=1; i<k+1; i++)
{
Form1->StringGrid2->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<l+1; j++)
{
Form1->StringGrid2->Cells [j] [0] =StrToInt (j);
}
Form1->StringGrid2->Visible=true;
a=a+1;
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{ a++;
Form1->StringGrid2->Cells [j+1] [i+1] =File [0] [a];
}
Form1->StringGrid2->Visible=true;
Form1->Label9->Visible=false;
Form1->Label10->Visible=true;
Form1->Label11->Visible=true;
Form1->BitBtn3->Visible=true;
Form1->BitBtn4->Visible=true;
Form1->BitBtn5->Visible=true;
Form1->BitBtn6->Visible=true;
Form1->N7->Enabled=false;
Form1->N8->Enabled=true;
Form1->N2->Enabled=true;
Form1->Label10->Caption=" = "+IntToStr (n) +" x "+IntToStr (m);
Form1->Label11->Caption="B = "+IntToStr (k) +" x "+IntToStr (l);
}
else
{
return;
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm1:: N4Click (TObject *Sender)
{
ShellExecute (Handle,"Open","sprawka. chm",NULL,NULL,SW_RESTORE);
}
// ---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click (TObject *Sender)
{
bool her=false;
bool het=false;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
if (Form1->StringGrid1->Cells [j+1] [i+1] =="")
her=true;
}
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
if (Form1->StringGrid2->Cells [j+1] [i+1] =="")
het=true;
}
if ( (her==false) && (het==false))
{
A= (int**) calloc (n,sizeof (int*));
for (i=0; i<n; i++)
A [i] = (int*) calloc (m,sizeof (int));
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
A [i] [j] =StrToInt (Form1->StringGrid1->Cells [j+1] [i+1]);
}
Form3->Caption=""+IntToStr (m) +" x "+IntToStr (n);
Form3->StringGrid1->RowCount=m+1;
Form3->StringGrid1->ColCount=n+1;
Form3->StringGrid1->Cells [0] [0] ="i / j";
Form3->StringGrid1->FixedRows=1;
Form3->StringGrid1->FixedCols=1;
for (i=1; i<m+1; i++)
{
Form3->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<n+1; j++)
{
Form3->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
Form3->StringGrid1->Cells [i+1] [j+1] =IntToStr (A [i] [j]);
}
Form3->Show ();
B= (int**) calloc (k,sizeof (int*));
for (i=0; i<k; i++)
B [i] = (int*) calloc (l,sizeof (int));
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
B [i] [j] =StrToInt (Form1->StringGrid2->Cells [j+1] [i+1]);
}
Form4->Caption=""+IntToStr (l) +" x "+IntToStr (k);
Form4->StringGrid1->RowCount=l+1;
Form4->StringGrid1->ColCount=k+1;
Form4->StringGrid1->Cells [0] [0] ="i / j";
Form4->StringGrid1->FixedRows=1;
Form4->StringGrid1->FixedCols=1;
for (i=1; i<l+1; i++)
{
Form4->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<k+1; j++)
{
Form4->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
Form4->StringGrid1->Cells [i+1] [j+1] =IntToStr (B [i] [j]);
}
Form4->Show ();
}
else
{
ShowMessage ("!!!");
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm1:: n3Click (TObject *Sender)
{
bool her=false;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
if (Form1->StringGrid1->Cells [j+1] [i+1] =="")
her=true;
}
if (her==false)
{
A= (int**) calloc (n,sizeof (int*));
for (i=0; i<n; i++)
A [i] = (int*) calloc (m,sizeof (int));
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
A [i] [j] =StrToInt (Form1->StringGrid1->Cells [j+1] [i+1]);
}
Form3->Caption=""+IntToStr (m) +" x "+IntToStr (n);
Form3->StringGrid1->RowCount=m+1;
Form3->StringGrid1->ColCount=n+1;
Form3->StringGrid1->Cells [0] [0] ="i / j";
Form3->StringGrid1->FixedRows=1;
Form3->StringGrid1->FixedCols=1;
for (i=1; i<m+1; i++)
{
Form3->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<n+1; j++)
{
Form3->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
Form3->StringGrid1->Cells [i+1] [j+1] =IntToStr (A [i] [j]);
}
Form3->Show ();
}
else
{
ShowMessage ("!!!");
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm1:: N10Click (TObject *Sender)
{
bool het=false;
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
if (Form1->StringGrid2->Cells [j+1] [i+1] =="")
het=true;
}
if (het==false)
{
B= (int**) calloc (k,sizeof (int*));
for (i=0; i<k; i++)
B [i] = (int*) calloc (l,sizeof (int));
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
B [i] [j] =StrToInt (Form1->StringGrid2->Cells [j+1] [i+1]);
}
Form4->Caption=""+IntToStr (l) +" x "+IntToStr (k);
Form4->StringGrid1->RowCount=l+1;
Form4->StringGrid1->ColCount=k+1;
Form4->StringGrid1->Cells [0] [0] ="i / j";
Form4->StringGrid1->FixedRows=1;
Form4->StringGrid1->FixedCols=1;
for (i=1; i<l+1; i++)
{
Form4->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<k+1; j++)
{
Form4->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
Form4->StringGrid1->Cells [i+1] [j+1] =IntToStr (B [i] [j]);
}
Form4->Show ();
}
else
{
ShowMessage ("!!!");
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm1:: N19Click (TObject *Sender)
{
bool her=false;
bool het=false;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
if (Form1->StringGrid1->Cells [j+1] [i+1] =="")
her=true;
}
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
if (Form1->StringGrid2->Cells [j+1] [i+1] =="")
het=true;
}
if ( (her==false) && (het==false))
{
A= (int**) calloc (n,sizeof (int*));
for (i=0; i<n; i++)
A [i] = (int*) calloc (m,sizeof (int));
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
A [i] [j] =StrToInt (Form1->StringGrid1->Cells [j+1] [i+1]);
}
Form3->Caption=""+IntToStr (m) +" x "+IntToStr (n);
Form3->StringGrid1->RowCount=m+1;
Form3->StringGrid1->ColCount=n+1;
Form3->StringGrid1->Cells [0] [0] ="i / j";
Form3->StringGrid1->FixedRows=1;
Form3->StringGrid1->FixedCols=1;
for (i=1; i<m+1; i++)
{
Form3->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<n+1; j++)
{
Form3->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
Form3->StringGrid1->Cells [i+1] [j+1] =IntToStr (A [i] [j]);
}
Form3->Show ();
B= (int**) calloc (k,sizeof (int*));
for (i=0; i<k; i++)
B [i] = (int*) calloc (l,sizeof (int));
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
B [i] [j] =StrToInt (Form1->StringGrid2->Cells [j+1] [i+1]);
}
Form4->Caption=""+IntToStr (l) +" x "+IntToStr (k);
Form4->StringGrid1->RowCount=l+1;
Form4->StringGrid1->ColCount=k+1;
Form4->StringGrid1->Cells [0] [0] ="i / j";
Form4->StringGrid1->FixedRows=1;
Form4->StringGrid1->FixedCols=1;
for (i=1; i<l+1; i++)
{
Form4->StringGrid1->Cells [0] [i] =StrToInt (i);
}
for (j=1; j<k+1; j++)
{
Form4->StringGrid1->Cells [j] [0] =StrToInt (j);
}
for (i=0; i<k; i++)
for (j=0; j<l; j++)
{
Form4->StringGrid1->Cells [i+1] [j+1] =IntToStr (B [i] [j]);
}
Form4->Show ();
}
else
{
ShowMessage ("!!!");
}
}
// -----------------------------------------------------------------------------------------
#include <vcl. h>
#pragma hdrstop
#include "Unit2. h"
#include "Unit1. h"
// ---------------------------------------------------------------------------
#pragma package (smart_init)
#pragma resource "*. dfm"
TForm2 *Form2;
// ---------------------------------------------------------------------------
__fastcall TForm2:: TForm2 (TComponent* Owner)
: TForm (Owner)
{
}
// ---------------------------------------------------------------------------
void __fastcall TForm2:: FormClose (TObject *Sender, TCloseAction &Action)
{
Form2->Memo1->Lines->Clear ();
}
// ---------------------------------------------------------------------------
void __fastcall TForm2:: Form1N10Click (TObject *Sender)
{
int i;
if (PrintDialog1->Execute ()) {
Printer () - >BeginDoc ();
Printer () - >Canvas->Font->Pitch=fpFixed;
for (int i = 0; i < Memo1->Lines->Count; i++)
{
Printer () - >Canvas->TextOut (200, 200 +
(i*Printer () - >Canvas->TextHeight (Memo1->Lines->Strings [i])),
IntToStr (i+1) +" "+Memo1->Lines->Strings [i]);
Printer () - >EndDoc ();
}
}
else
{
ShowMessage ("");
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm2:: N2Click (TObject *Sender)
{
Form2->Close ();
}
// ---------------------------------------------------------------------------
void __fastcall TForm2:: N1Click (TObject *Sender)
{
if (Form1->SaveDialog1->Execute ())
{
Form2->Memo1->Lines->SaveToFile (Form1->SaveDialog1->FileName+". txt");
}
}
// ---------------------------------------------------------------------------
#include <vcl. h>
#pragma hdrstop
#include "Unit3. h"
#include "Unit1. h"
// ---------------------------------------------------------------------------
#pragma package (smart_init)
#pragma resource "*. dfm"
TForm3 *Form3;
// ---------------------------------------------------------------------------
__fastcall TForm3:: TForm3 (TComponent* Owner)
: TForm (Owner)
{
}
// ---------------------------------------------------------------------------
void __fastcall TForm3:: N1Click (TObject *Sender)
{
if (Form3->SaveDialog1->Execute ())
{
int i,j;
TStringList*list=new TStringList;
list->Add (Form3->Caption);
list->Add (' ');
for (i=0; i<Form3->StringGrid1->RowCount; i++)
{
for (j=0; j<Form3->StringGrid1->ColCount; j++)
list->Append (Form3->StringGrid1->Cells [j+1] [i+1]);
}
list->SaveToFile (Form3->SaveDialog1->FileName+". txt");
}
}
// ---------------------------------------------------------------------------
void __fastcall TForm3:: N2Click (TObject *Sender)
{
Form3->Close ();
}
// ---------------------------------------------------------------------------
#include <vcl. h>
#pragma hdrstop
#include "Unit4. h"
#include "Unit1. h"
// ---------------------------------------------------------------------------
#pragma package (smart_init)
#pragma resource "*. dfm"
TForm4 *Form4;
// ---------------------------------------------------------------------------
__fastcall TForm4:: TForm4 (TComponent* Owner)
: TForm (Owner)
{
}
// ---------------------------------------------------------------------------
void __fastcall TForm4:: N1Click (TObject *Sender)
{
Form4->Close ();
}
// ---------------------------------------------------------------------------
void __fastcall TForm4:: c1Click (TObject *Sender)
{
if (Form4->SaveDialog1->Execute ())
{
int i,j;
TStringList*list=new TStringList;
list->Add (Form4->Caption);
list->Add (' ');
for (i=0; i<Form4->StringGrid1->RowCount; i++)
{
for (j=0; j<Form4->StringGrid1->ColCount; j++)
list->Append (Form4->StringGrid1->Cells [j+1] [i+1]);
}
list->SaveToFile (Form4->SaveDialog1->FileName+". txt");
}
}
Размещено на Allbest.ru
Подобные документы
Составление программы для нахождения минимального и максимального элементов массива. Программа вычисления корней квадратных алгебраических уравнений. Ранжирование одномерного массива по заданному признаку. Формирование массивов с помощью функции random.
контрольная работа [1,0 M], добавлен 30.04.2013Вектор и матрица с числовыми компонентами как математические прообразы массивов. Создание программы, содержащей процедуры для выполнения заданных операций: построение массива, перестановка строк и столбцов. Использование диалоговых окон "уведомлений".
курсовая работа [1,3 M], добавлен 15.02.2011Практическое использование алгоритмов для нахождения минимального пути в лабиринте. Разработка программы на языке С++ и в среде Visual C++. Основные способы поиска пути: метод волны и приоритетов. Описание разработанных функций и инструкция пользователя.
дипломная работа [54,3 K], добавлен 16.03.2012Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя.
курсовая работа [1,5 M], добавлен 17.03.2014Элементарные функции: тригонометрические и экспоненциальные, для определения округлений и остатков, размерности и размера матриц, задания одномерных и дву- массивов, векторов-столбцов и векторов-строк, удаления строк и столбцов, перестановки элементов.
презентация [139,0 K], добавлен 24.01.2014Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).
курсовая работа [901,8 K], добавлен 11.02.2014Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.
лабораторная работа [12,8 K], добавлен 02.12.2014Создание программы для мобильного устройства, для решения геометрических задач: нахождения площади треугольника по формуле Герона, площади прямоугольного треугольника и круга. Реализация программных модулей, интерфейс программы, руководство пользователя.
курсовая работа [314,9 K], добавлен 07.12.2014Описание входной и выходной информации. Требования к комплексу технических средств и к интерфейсу конечного пользователя. Разработка форм представления входных и выходных данных. Проектирование программных модулей. Руководство пользователя и программиста.
курсовая работа [421,6 K], добавлен 27.06.2015Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010