1-1 Программирование С++ / html / modules / 027 / content / example1
.htmlІнформатика — Практика — Практичне заняття Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаДирективи препроцесора : Практичне заняттяЗміст курсу
Вступ
Теорія
Синтаксис директив препроцесора
Практика
Практичне заняття
Лабораторна робота
Поточна перевірка знань
Директиви препроцесора
Версія для друку
Практичне заняття Вивчити директиви препроцесорної обробки. Ознайомитися з правилами створювання макросів та класичними помилками програмістів-початківців. Розібрати контрольний приклад. Особливу увагу приділити механізму підключення модулю до основної програми.
Контрольний приклад В матриці найти суму першого рядка, відсортувати другий рядок за збільшенням, а третій за зменшенням. Оформити кожну підзадачу у вигляді макросу.
Файл Unit1.h
#include <iostream.h>
#include "Unit2.h"
#define N 3
#define M 5
void main()
{
int mas[N][M]={9,3,6,23,21,
4,5,6,4,51,
4,6,24,23,24};
cout<<"Nachalnije dannie\n";
outmatr(mas,N,M);
#define cmp >
# if defined (cmp)
sortmas(mas[1],M);
#else
cout<<"error";
#endif
#define MES "sort \">\" 2-ja stroka"
cout<<endl;
outmas(mas[1],5);
#define cmp <
#define MES "sort \"<\" 3-ja stroka"
# if defined (cmp)
sortmas(mas[2],M);
#else
cout<<"error";
#endif
cout<<endl;
outmas(mas[1],5);
#define cmp <
#define MES "sort \"<\" 3-ja stroka"
# if defined (cmp)
sortmas(mas[2],M);
#else
cout<<"error";
#endif
cout<<endl;
outmas(mas[2],5);
cout<<endl;
int sum;
SUM(mas[0],5,sum);
cout<<"Summa 1-oj stroki = "<<sum<<endl;
cout<<"Rezultat:"<<endl;
outmatr(mas,N,M);
cin.get();
}
Файл "Unit2.h"
#ifndef Unit2H
#define Unit2H
#define MES "ne sort"
#define cmp ==
#define sortmas(mas,n) { for (int i=0;i<n;i++) \
for (int j=0;j<n-i-1;j++) \
if(mas[j] cmp mas[j+1]) \
{\
mas[j]=mas[j]+mas[j+1]; \
mas[j+1]=mas[j]-mas[j+1]; \
mas[j]=mas[j]-mas[j+1];}; \
}
#define outmas(mas,n) { for (int i=0;i<n;i++) cout<<mas[i]<<"\t"; \
cout<<'\t'<<MES<<endl;}
#define outmatr(mas,n,m) { for (int i=0;i<n;cout<<endl,i++)\
for (int j=0;j<m;j++)\
cout<<mas[i][j]<<"\t"; \
}
//---------------------------------------------------------------------------
#define SUM(mas,n,Sum) { Sum =0; \
for (int j=0;j<n;j++)\
Sum+=mas[j]; \
}
#endif
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS