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

Інформатика — Практика — Практичне заняття    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаДирективи препроцесора : Практичне заняттяЗміст курсу

Вступ

Теорія

Синтаксис директив препроцесора

Практика

Практичне заняття

Лабораторна робота

Поточна перевірка знань

Директиви препроцесора

Версія для друку

  Практичне заняття      Вивчити директиви препроцесорної обробки. Ознайомитися з правилами створювання макросів та класичними помилками програмістів-початківців. Розібрати контрольний приклад. Особливу увагу приділити механізму підключення модулю до основної програми.

Контрольний приклад      В матриці найти суму першого рядка, відсортувати другий рядок за збільшенням, а третій за зменшенням. Оформити кожну підзадачу у вигляді макросу.

Файл 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

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