Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка С++ BIKS-12 (Любченко).doc
Скачиваний:
39
Добавлен:
13.04.2015
Размер:
820.74 Кб
Скачать

7.7 Контрольний приклад

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

Розв’язок

Файл main.cpp

#include <iostream>

#include "myMacros.h"

#define N 3

#define M 5

int main()

{

int mas[N][M]={9,3,6,23,21,

4,5,6,4,51,

4,6,24,23,24};

std::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"

std::cout<<std::endl;

outmas(mas[1],5);

#define cmp <

#define MES "sort \"<\" 3-ja stroka"

# if defined (cmp)

sortmas(mas[2],M);

#else

std::cout<<"error";

#endif

std::cout<<std::endl;

outmas(mas[2],5);

std::cout<<std::endl;

int sum;

SUM(mas[0],5,sum);

std::cout<<"Summa 1-oj stroki = "<<sum<<std::endl;

std::cout<<"Rezultat:"<<std::endl;

outmatr(mas,N,M);

std::cin.get();

return 0;

}

Файл “myMacros.h”

#ifndef _MY_MACROS_

#define _MY_MACROS_

#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++) std::cout<<mas[i]<<"\t"; \

std::cout<<'\t'<<MES<<std::endl;}

#define outmatr(mas,n,m) { for (int i=0;i<n;std::cout<<std::endl,i++)\

for (int j=0;j<m;j++)\

std::cout<<mas[i][j]<<"\t"; \

}

//---------------------------------------------------------------------------

#define SUM(mas,n,Sum) { Sum =0; \

for (int j=0;j<n;j++)\

Sum+=mas[j]; \

}

#endif

Перелік посилань

  1. Керниган Б., Ритчи Д. Язык программирования Си: Пер. с англ. — М.: Финансы и статистика, 1992. — 272 с.

  2. Страуструп Б. Язык программирования С++. Часть 1. — Киев: "ДиаСофт", 1993. — 264 с.

  3. Страуструп Б. Язык программирования С++. Часть 2. — Киев: "ДиаСофт", 1993. — 296 с.

  4. Подбельский В.В. Язык Си+: Учеб. пособие. — М.: БИНОМ, 1995. — 400 с.

  5. Глушаков С.В. и др. Язык программирования С++. —Харьков: Фолио, 2002. — 500 с.

  6. Х.М.Дейтел, П.Дж. Дейтел Как программировать на С++.- М.:ЗАО «Издательство БИНОМ», 2000 г. — 1024 с.

  7. Ван Тассел Д. Стиль, разработка, отладка и испытание программ.-M.:Мир,1985.

  8. Проценко В.С. Техніка програмування мовою С. —Навч. Посібник. –К.:Либідь, 1993. — 224с.

  9. Жешке Р. Толковый словарь стандарта языка Си: — С.-Петербург: Питер, 1994. — 221с.

  10. Язык Си. Книга ответов: Пер. с англ. — М.: Финансы и статистика, 1994. — 160 с.

61