Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
17.04.2013
Размер:
99.84 Кб
Скачать

Назначение пунктов подменю Project.

При выборе пункта Open project открывается диалоговое окно Open Project File для выбора уже существующего проекта или создания нового.

При выборе пункта Close project происходит закрытие проекта и возврат к проекту по умолчанию.

При выборе пункта Add item открывается диалоговое окно Add item to Project List для добавления файлов в проект.

Команда Delete item используется для удаления файлов из проекта.

При выборе пункта Local options открывается диалоговое окно Local options, позволяющее включить в проект опции командной строки для файлов проекта, задать имя и путь для объектного файла проекта, выбрать компилятор для файлов проекта.

При выборе пункта Include files открывается диалоговое окно Include files со списком файлов, входящих в состав проекта.

Создание проекта в системе Borland C++.

Для создания проекта надо сначала с помощью системы Borland C++ создать файлы присоединяемых функций, откомпилировать их и исправить все ошибки. Затем создать заголовочные файлы с прототипами присоединяемых функций. После этого создать файл с функцией main(), откомпилировать его и исправить все ошибки. Компиляция файлов проекта осуществляется с помощью опции Compile подменю Compile системы Borland C++. Обратите внимание на то, что заголовочные файлы компилировать не нужно.

После создания файлов и исправления в них ошибок необходимо открыть проект, добавить в него необходимые файлы, создать загрузочный файл проекта и выполнить программу.

Пример программирования с использованием проекта.

Составить проект программы создания целочисленных матриц А(4,5) и В(6,8), вывода их на экран, формирования одномерных массивов C и D из положительных элементов каждой матрицы соответственно и поиска номера минимального элемента в массивах C и D.

При составлении программы удобно разделить эту задачу на следующие подзадачи:

  • формирование матрицы с помощью датчика случайных чисел;

  • вывод матрицы на экран;

  • формирование одномерного массива;

  • поиск номера минимального элемента в одномерном массиве;

  • вывод номера минимального элемента на экран;

  • управление процессом вычислений.

Для удобства проектирования и отладки программы удобно разбить ее текст на следующие файлы:

out.cpp – содержит функции:

form1 – формирование матрицы с помощью датчика случайных чисел;

write1 – вывод матрицы на экран;

write2 – вывод на экран одномерного массива;

obr.cpp – содержит функции:

form2 – формирование одномерного массива из положительных элементов матрицы;

num_min – поиск номера минимального элемента массива;

main.cpp – содержит функцию main(), управляющую процессом вычислений.

Кроме того, для правильной работы программы необходимы еще файлы out.h и orb.h с прототипами функций файлов out.cpp и obr.cpp, соответственно.

Содержимое файлов out.cpp, out.h, obr.cpp, orb.h, main.cpp представлено на рис.1-5 соответственно. Обратите внимание на то, что присоединяемых функциях и функции main() матрицы А и В имеют 10 столбцов для того, чтобы можно было использовать в качестве физического параметра матрицы с различным количеством столбцов меньше 10. Массивы C и D имеют размерность 20 (4*5) и 48 (6*8) в предположении, что все элементы матриц А и В могут быть положительными.

Рис.1. Содержимое файла out.cpp.

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

void form1(int x[][10],int n, int m){ // формирование матрицы из n // строк и m столбцов с помощью // датчика случайных чисел

int i,j; // параметры цикла

for(i=0;I<=n;i++) // цикл по строкам

for(j=0;j<=m;j++) // цикл по столбцам

x[i][j]=random(100)-50; // элемент матрицы – случайное

// число от –50 до 50

}

void write1(int x[][10],int n, int m){ // вывод на экран матрицы из n // строк и m столбцов

int i,j; // параметры цикла

for(i=0;i<=n;i++){ // цикл по строкам

for(j=0;j<=m;j++) // цикл по столбцам

printf(“%4d”,x[i][j]); // вывод элемента матрицы

printf(“\n”); // переход на новую строку

}

}

void write2(int y[],int k){ // вывод на экран массива из k // элементов

int i; // параметр цикла

for(i=0;i<=n;i++)

printf(“%4d”,x[i][j]); // вывод элемента массива

printf(“\n”); // переход на новую строку

}

Рис.2. Содержимое файла out.h.

void form1(int x[][10],int n, int m);

void write1(int x[][10],int n, int m);

void write2(int y[],int k);

Рис.3. Содержимое файла obr.cpp.

void form2(int x[][10],int y[],int n,int m,int &k){

// функция формирования

// одномерного массива из // положительных элементов // матрицы

// х – исходная матрица

// y – одномерный массив

// n – число строк матрицы

// m – число столбцов матрицы

// k – число элементов массива

int i,j; // параметры цикла

k=0; // задать начальное значение // количества элементов массива

for(i=0;i<=n;i++) // цикл по строкам

for(j=0;j<=m;j++) // цикл по столбцам

if (x[i][j]>0)

y[k++]=x[i][j]; // элемент матрицы положителен – // записать его в массив и // увеличить количество элементов // массива

}

int num_min(int y[],int k){ // функция поиска номера // минимального элемента в массиве

// y – одномерный массив

// k – число элементов массива

int i; // параметр цикла

int num; // номер минимального элемента

int min; // минимум

min=y[0]; // задать начальное значение // минимуму

num=0; // задать начальное значение // номеру минимального элемента

for(i=0;i<=k;i++)

if(y[i]<min){

min=y[i]; // элемент массива меньше // минимума, поменять минимум

num=i; // элемент массива меньше // минимума, поменять номер // минимума

}

return (num); // возвратить num в качестве // результата

}

Рис.4. Содержимое файла obr.h.

void form2(int x[][10],int y[],int n,int m,int &k);

int num_min(int y[],int k);

Рис.5. Содержимое файла main.cpp.

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include ”out.h”

#include ”obr.h”

void main(){

int a[4][0],b[6][10]; // исходные матрицы

int c[20],d[48]; // результирующие массивы

int k1,k2; // число элементов массивов c и d

int n1,n2; // номера мин. элементов массивов с // и d

randomize();

clrscr(); // очистка экрана

form1(a,4,5); // формирование матрицы а

printf(“ матрица а\n”);

write1(a,4,5); // вывод на экран матрицы а

form2(a,c,4,5,k1); // формирование массива с

printf(“ массив c\n”);

write2(c,k1); // вывод на экран массива с

n1=num_min(c,k1); // определение номера минимума в // массиве с

printf(“ номер мин. элемента = %d\n”,n1);

getch();

clrscr(); // очистка экрана

form1(b,6,8); // формирование матрицы b

printf(“ матрица b\n”);

write1(a,4,5); // вывод на экран матрицы b

form2(b,d,6,8,k2); // формирование массива d

printf(“ массив d\n”);

write2(d,k2); // вывод на экран массива d

n1=num_min(d,k2); // определение номера минимума в // массиве d

printf(“ номер мин. элемента = %d\n”,n2);

getch();

}

Соседние файлы в папке Lab5