Задача

Задача Модульное программирование 4

Работа добавлена на сайт bukvasha.net: 2015-10-29

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.1.2025





zФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

Федеральное государственное образовательное учреждение

высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
КУРСОВАЯ РАБОТА

по дисциплине «Технология программирования»

на тему: «Модульное программирование»
Студентки II курса вечернего отделения Щербаковой Н.М.

                                           Руководитель Пучкин М.В.
Ростов-на-Дону

2009


Содержание



1.

Задание на курсовую работу

3

2.

Задача 1

4

2.1

Условие задачи: Найти  количество элементов массива расположенных       между максимальными центральным элементами.

4

2.2

Постановка задачи

4

2.3

Описание алгоритма

4

2.4

Реализация решения задачи

4

2.5

Контрольные примеры

5

3.

Задача 2

7

3.1

Условие задачи: После каждого элемента с заданным значением, удалить 1 элемент, если он отличен от заданного.

7

3.2

Постановка задачи

7

3.3

Описание алгоритма

7

3.4

Реализация решения задачи

7

3.5

Контрольные примеры

8

4.

Задача 3

10

4.1

Условие задачи: Вставить элемент с заданным значением после элемента с заданным номером.

10

4.2

Постановка задачи

10

4.3

Описание алгоритма

10

4.4

Реализация решения задачи

10

4.5

Контрольные примеры

11

5.

Задача 4

12

5.1

Условие задачи: Проверить есть ли в массиве два подряд идущих положительных элемента.

12

5.2

Постановка задачи

12

5.3

Описание алгоритма

12

5.4

Реализация решения задачи

12

5.5

Контрольные примеры

12

6.

Основная программа

14

6.1

Описание данных

14

6.2

Описание алгоритма

15

6.3

Текст программы

15

Литература

23


1.ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Решить 4 задачи:
Задача 1. Определить количество элементов массива расположенных между максимальным и «центральным» элементами массива (предполагается, что число элементов – нечётное и максимальный элемент - единственный). Если по какой либо причине количество определить не удаётся, выдать об этом сообщение с указанием причины.

Задача 2. Удаление элементов вектора. После каждого элемента с заданным значением, удалить один элемент, если он отличен от заданного значения. Если удаление элементов невозможно, выдать об этом сообщение.

Задача 3 Вставка в вектор новых элементов. Вставить в массив элемент с заданным значением, после элемента с заданным номером. Если вставка невозможна, выдать об этом сообщение.


Задача 4. Проверка состояния вектора. Проверить содержаться ли в массиве два подряд идущих положительных элемента.


Объединить решение задач в одну программу. Реализовать программу средствами языка программирования C++.
2. ЗАДАЧА 1
2.1 Условие задачи
Определить количество элементов массива расположенных между максимальным и «центральным» элементами массива (предполагается, что число элементов – нечётное и максимальный элемент - единственный). Если по какой либо причине количество определить не удаётся, выдать об этом сообщение с указанием причины.
2.2 Постановка задачи
Входные данные:
            int n длина массива;
            int *а – массив.
Выходные данные:
            Функция kol_vo(a,maxim,n), которая возвращает количество элементов массива, находящихся между максимальным элементом и центральным элементом.
Условия и ограничения:

            Массив должен содержать нечётное количество элементов. Если при вводе длины массива число n оказывается чётным выводится сообщение «Ошибка! Количество элементов должно быть нечётным».
2.3. Описание алгоритма
Проверка присутствия нескольких максимальных элементов neskolko(a,n).
Если максимальный элемент встречается в массиве неоднократно (if (maxim!=I && maxim==a[i])) то выводим: «Ошибка! В массиве несколько максимальных элементов.», иначе вычисляем и выводим значение функции kol_vo(a,n).


2.4. Реализация решения задачи
Решение задачи 1 оформлено в виде подпрограммы kol_vo(a,maxim,n), которая использует подпрограммы:

      - enter (a,n)– функция ввода массива;

- max (a,n) – функция поиска номера максимального элемента;

- neskolko(a,n)функция проверки единственности максимального элемент в массиве;
Текст подпрограмм:
void enter(int *a, int n) // функция ввода массива, a – массив, n – длина массива


{

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

  {

            cout<<"\n Введи "<<i+1<< " элемент: "; cin>>a[i]; }

  }
int  max(int *a, int n) // функция поиска номера максимального элемента


    {

       int numbermax=0, max=a[0];

       for (int j=1; j<n;j++) if (a[j]>max)

           {

                max=a[j];

                numbermax=j;

           }

  return numbermax;

    }
  bool neskolko(int*a ,int n)//функция проверяющая есть ли несколько максимальных элементов

    {

       Int d= max(a,n);

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

          if (d!=I && d ==a[i])

               return true;

       return false;

      }
int kol_vo(int*a, int maxim, int n)//функция вычисления количества элементов расположенных между центральным и максимальным элементами, maximномер максимального элемента

   {

          int x;

          x=(n/2)-maxim;

          int kol=(abs(x)-1);

          cout <<"Количество элементов массива расположенных между максимальными центральным элементами =" <<  kol << "\n";

          if (kol==0)

             cout<<"Между центральными максимальным элементами нет элементов";

          return kol;

   }
2.5.  Контрольные примеры
1)     n=7, a = { 1 2 3 6 5 9 3 } (случай когда максимальный элемент находится справа от центрального элемента).

Центральный элемент = 6, номер центрального элемента = 4;

Максимальный элемент = 9, номер максимального элемента = 6;

Количество элементов между максимальным элементом и центральным элементом   

kol= (abs((7/2)-6)-1)= 1
2)     n=9, a = { 9 2 3 -1 4 5 4 7 8} (случай когда максимальный элемент находится слева от центрального элемента).

Центральный элемент = 4, номер центрального элемента = 5;

Максимальный элемент = 9, номер максимального элемента = 1;

Количество элементов между максимальным элементом и центральным элементом      kol= (abs((9/2)-1)-1)= 3
3)     n=5, a = { 1 4 5 3 2} (случай когда центральный элемент и максимальный элемент совпадают).

Центральный элемент = 5, номер центрального элемента = 3;

Максимальный элемент = 5, номер максимального элемента = 3;

Выводится сообщение «Центральный и максимальный элемент совпадают!»
4)     n=3, a = {1 2 4} (случай когда между центральным элементом и максимальным элементом нет элементов).

Центральный элемент = 2, номер центрального элемента = 2;

Максимальный элемент = 4, номер максимального элемента = 3;

Количество элементов между максимальным элементом и центральным элементом   

 kol= (abs((3/2)-3)-1)= 0 Выводится сообщение «Между центральным и максимальным элементами нет элементов»
5)     n<=0, a отсутствуют

Выводится сообщение «Массив пуст!»
6)     n=1, a=1

Выводится сообщение «Центральный и максимальный элемент совпадают.»
7)     n=3, a={0 0 0}

Выводится сообщение «Ошибка! В массиве несколько максимальных элементов. »
8)                 n=4, a={1 2 3 4}

Выводится сообщение «Ошибка! Количество элементов должно быть нечётным »
 


3. ЗАДАЧА 2
3.1 Условие задачи
Удаление элементов вектора. После каждого элемента с заданным значением, удалить один элемент, если он отличен от заданного значения. Если удаление элементов невозможно, выдать об этом сообщение.
3.2 Постановка задачи
Входные данные:
            Int n – длина массива;

            Int – массив;

            Int zad_elem заданное значение.

Выходные данные:
            Измененный массив а, при наличии заданного элемента и последующий за ним элемент отличен от заданного.
Условия и ограничения:
            Если в массиве присутствует заданный элемент и последующий за ним элемент отличен от заданного, то удаляется элемент отличный от заданного стоящий после заданного элемента.
3.3. Описание алгоритма
Проверка наличия заданного элемента poisk(a,n,zad_elem) в массиве.
Если заданный элемент найден, и последующий за ним элемент отличен от заданного, то этот последующий элемент удаляется, иначе не выполняется никаких действий и выводится сообщение: «В массиве нет заданного элемента»


3.4. Реализация решения задачи
Решение задачи 2 оформлено в виде подпрограммы del(a,n,zad_elem), которая использует подпрограммы:

   - enter(a,n),  – функция ввода массива.

   - poisk(a,n,zad_elem),  – функция проверки наличия заданного элемента в массиве.

       - print(a,n,zad_elem),   функция вывода массива.
Текст подпрограмм:
  int poisk(int*a, int n, int zad_elem)//функция проверяющая наличие заданного элемента в массиве

   {

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

           if(a[i]==zad_elem)

    return true;

       return false;

    }
  void del(int*a, int &n, int zad_elem)//функция удаляющая после каждого элемента с заданным значением, удалить 1 элемент, если он отличен от заданного


    {

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

           if (a[i]==zad_elem)

             if (a[i+1]!=zad_elem)

                {

                   for (i=i+1; i<n-1; i++)

                   a[i]=a[i+1];

                   n=n-1;

                }

    }
  void print(int *a, int n) // функция вывода элементов массива


    {

        cout<<("\n Массив:");

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

           cout<<"  "<<a[i];

        cout<<endl;

    }
3.5.  Контрольные примеры
1)     n=6, a = { 1 2 4 6 5 3 }, zad_elem=6

Заданный элемент = 6 (номер элемента =4). Следующий элемент массива отличен от заданного = 5(номер элемента =5), поэтому он удаляется.

Полученный массив: a = { 1 2 4 6 3 }
2)     n=5, a = { 1 2 4 4 5}, zad_elem=4

Заданный элемент = 4(номер элемента =3). Следующий элемент массива  не отличен от заданного = 4(номер элемента =4), поэтому он  не удаляется. Элемент под номером 5 отличен, поэтому он удаляется.

Полученный массив: a = { 1 2 4 4 }
3) n=4,  a={1 2 3 5}, zad_elem=5

Заданный элемент = 5(номер элемента =4). Заданный элемент является последним. Выводится сообщение «Заданный элемент является последним в массиве»
4) n=7,  a={1 2 3 6 5 8 8}, zad_elem=8

Заданный элемент = 8(номер элемента =6). Следующий элемент массива  не отличен от заданного = 8(номер элемента =7), поэтому он  не удаляется. Элемент под номером 7  равен заданному и является последним. Поэтому выводится сообщение «Заданный элемент является последним в массиве»
5)      n<=0, aотсутствуют

Выводится сообщение «Ошибка! Количество элементов массива должно быть не менее двух.»
6)      n=1, a=1

Выводится сообщение «Ошибка! Количество элементов массива должно быть не менее двух.»
7)      n=3, a={0 0 0}, zad_elem=6

Выводится сообщение «В массиве нет заданного элемента»




4. ЗАДАЧА 3

4.1 Условие задачи
Вставка в вектор новых элементов. Вставить в массив элемент с заданным значением, после элемента с заданным номером. Если вставка невозможна, выдать об этом сообщение.

4.2 Постановка задачи
Входные данные:
            itn n – длина массива;
            int – массив;
            int new_element – заданное значение;
            int zad_nomerзаданный номер.
Выходные данные:
            Измененный массив а, при наличии в этом массиве элемента с заданным номером.
Условия и ограничения:
            Отсутствие в массиве элемента с заданным номером.
4.3. Описание алгоритма
Вставка заданного элемента после элемента с заданным номером paste(a,n,new_element,zad_nomer).
Если элемент c заданным номером найден после него производится вставка заданного значения.



4.
4. Реализация решения задачи

Решение задачи 3 оформлено в виде подпрограммы paste, которая использует подпрограммы:

- entery(a,n) – функция ввода массива;

- print (a,n) – функция вывода массива.
Текст подпрограмм:
void paste(int*a ,int&n ,int new_element, int zad_nomer)//функция вставляющая элемент с заданным значением после элемента с заданным номером


        {

            Int m=n+1;

            Int *b=new int[m];

            for (int i=0; i<=zad_nomer; i++)

                b[i]=a[i];

            b[zad_nomer+1]=new_element;

            for (int i=zad_nomer+2; i<m; i++)

               b[i]=a[i-1]

            delete [] a;

            a=b;

        }
4.5.  Контрольные примеры
1)     n=5, a = { 1 2 9 4 5 }, int zad_nomer=3, int new_element=7

Заданное значение = 7. Заданный номер = 3

Полученный массив: a = { 1 2 9 7 4  5 }
2)     n=5, a = { 1 2 3 4 0 }, int zad_nomer=9

Заданный номер = 9.

Выводится сообщение «Ошибка! Массив не имеет элемента с заданным номером, так как количество элементов массива менее 9»
3)     n<=0, aотсутствуют

Выводится сообщение «Массив пуст.»
4)     n=1, a=1, int zad_nomer=9

Выводится сообщение «Ошибка! Массив не имеет элемента с заданным номером, так как количество элементов массива менее»
5)     n=3, a={0 0 0}, int zad_nomer=3, int new_element=9

Полученный массив: a = { 0 0 0 9 }



5. ЗАДАЧА 4
5.1 Условие задачи
Проверка состояния вектора. Проверить содержаться ли в массиве два подряд идущих положительных элемента.
5.2 Постановка задачи
Входные данные:
            Int n – длина массива;
            int *а – массив.
Выходные данные:
            Логическая функция proverka pologit(a,n), которая возвращает истину, если в массиве есть два подряд идущих положительных элемента.
Условия и ограничения:
            Ограничений нет, при условии наличия элементов в массиве.
5.3. Описание алгоритма
Сравнение элементов массива друг с другом.


5.4. Реализация решения задачи
Решение задачи 4 оформлено в виде подпрограммы proverka pologit(a,n).
Текст
подпрограммы
:

bool proverka(int*a,int n)//функция проверяющая есть ли в массиве два подряд идущих положительных элемента

    {

       for(int i=0;i<n-1;i++)

          if ((a[i]>0)&&(a[i+1]>0))

             return true;

       return false;

    }


5.5.  Контрольные примеры
1)     n=5, a = { -5 3 2 -2 -1 }

Выводится сообщение «Да, Массив содержит два подряд идущих положительных элемента.»
2)     n=1, a = { 1 }

Выводится сообщение «В массиве один элемент»
3)     n=3, a = { 0 -9 -2 }

Выводится сообщение «Два подряд идущих положительных элементов не найдено»
4)     n<=0, a – {       }

Выводится сообщение «Количество элементов массива менее двух..»
5)     n=3, a={0 0 0}

Выводится сообщение «Два подряд идущих положительных элементов не найдено.»


ОПИСАНИЕ ОСНОВНОЙ ПРОГРАММЫ
6.1 Описание данных
Описание глобальных данных:
void enter(int *a, int n); //функция ввода массива

void

print
(
int
*
a
,
int

n
); // функция вывода массива


int

max
(
int
*
a
,
int

n
); // функция находящая номер максимального элемента


int

poisk
(
int
*
a
,
int

n
,
int

zad
_
elem
);//функция проверяющая наличие заданного элемента в массиве


void
del(
int
*
a
,
int
&
n
,
int

zad
_
elem
);//функция удаляющая После каждого элемента с заданным значением,  1 элемент, если он отличен от заданного


void

paste
(
int
*
a
,
int
&
n
,
int

new
_
element
,
int

zad
_
nomer
);//функция вставляющая элемент с заданным значением после элемента с заданным номером


bool
proverka pologit(
int
*
a
,
int

n
);//функция проверяющая есть ли в массиве два подряд идущих положительных элемента.


int

kol
_
vo
(
int
*
a
,
int

maxim
,
int

n
);//функция нахождения количества элементов расположенных между центральным и максимальным элементами


bool

neskolko
(
int
*
a
,
int

n
);//функция проверки единственности максимального элемент в массиве



Описание локальных данных:
 intмассив.

 Int nдлина массива.

 Int choiceномер задания, выбираемого из меню.

 Int numbermaxномер максимального элемента.

 Int zad_elemзначение элемента для сравнения

 Int zad_nomerзаданный номер элемента после которого необходимо произвести вставку

 Int new_elementзначение нового элемента.
Программа использует подпрограммы решения задач 1-4:
Enter(a,n), print(a,n), max(a,n), kol_vo(a,maxim,n), paste(a,n,new_element,zad_nomer), poisk(a,n,zad_elem), proverka pologit(a,n,), del(a,n,Zad_elem), neskolko(a,n).

6.2 Описание алгоритма:
Выбор требуемой задачи из меню.

Выполнение выбранной задачи по соответствующим условиям.
6.3 Текст программы
_______________________________Main.cpp_____________________________________

#include<iostream>

using namespace std;


void enter(int *a, int n); //функция ввода массива


void

print
(
int
*
a
,
int

n
); //
функция вывода массива


int

max
(
int
*
a
,
int

n
); //
функция находящая номер максимального элемента


bool

poisk
(
int
*
a
,
int

n
,
int

zad
_
elem
);//
функция проверяющая наличие заданного элемента в массиве

void
del(
int
*
a
,
int
&
n
,
int

zad
_
elem
);//
функция удаляющая После каждого элемента с заданным значением, 1 элемент, если он отличен от заданного

void

paste
(
int
*
a
,
int
&
n
,
int

new
_
element
,
int

zad
_
nomer
);//
функция вставляющая элемент с заданным значением после элемента с заданным номером

bool

proverka

pologit
(
int
*
a
,
int

n
);//
функция проверяющая есть ли в массиве два подряд идущих положительных элемента

int

kol
_
vo
(
int
*
a
,
int

maxim
,
int

n
);//
функция нахождения количества элементов расположенных между центральным и максимальным элементами


bool

neskolko
(
int
*
a
,
int

n
);//
функция проверки единственности максимального элемент в массиве


int main()

    { int n,choice;

do

   {

     system("dhcp 1251|cls");

cout<<"\n>>>>>>>>>>>>>>>>>>> МЕНЮ <<<<<<<<<<<<<<<<<<<< ";

cout
<<"\
nЗадание № 1. Найти  количество элементов массива расположенных между максимальным и центральным элементами.";

cout
<<"\
nЗадание № 2. После каждого элемента с заданным значением, удалить 1 элемент, если он отличен от заданного.";

cout
<<"\
nЗадание № 3. Вставить элемент с заданным значением после элемента с заданным номером.";

cout
<<"\
nЗадание № 4. Проверить есть ли в массиве два подряд идущих положительных элемента.";

cout
<<"\
n
0.
Выход"<<"\n
";


cout<<"\n Выбери задание => ";

cin>>choice;

     switch(choice)

     {


         case(1):

             
{


                   
cout
<<"\
n
Вы выбрали пункт №1-Найти  количество элементов массива расположенных между максимальным и центральным элементами.";


                   
cout
<<"\
nВведите количество элементов массива: ";


                  
cin
>>
n
;



                   
if
(
n
==0)//
проверка на наличие элементов в массиве


                         {

                            cout<<"\nМассив пуст!\n";

                            return 1;

                         }

                   
if
((
n
%2)==0)//
проверка на чётность размерности массива

          
            
 {


           
                 
 
cout
<<"
Ошибка! Количество элементов должно быть нечётным. \n";

                             return 10;

                       }


                   int *a = new int [n];

                   enter(a,n);//функция ввода элементов в массив



                 
if
(
max
(
a
,
n
)==(
n
/2
))//проверка на совпадения номера максимального и центрального элемента

                         {

                              
cout
<<"
Центральный и максимальный элемент совпадают";

                              return 9;

                        }

       

                  int maxim=max(a,n);

 
               
if
(
neskolko
(
a
,
n
)) //
функция проверки единственности максимального элемент в массиве

         
              
 
cout
<<"
Ошибка! В массиве несколько максимальных элементов. \n
";


                  
else



                      
kol
_
vo
(
a
,
maxim
,
n
);//
функция нахождения количества элементов расположенных между центральным и максимальным элементами


                  system("pause");

                 break;

                 delete []a;

             
}


               
case
(2):


                 {

                      
cout
<<"\
nВы выбрали пункт №2-После каждого элемента с заданным значением, удалить 1 элемент, если он отличен от заданного
.";

                      
int

zad
_
elem
;


                      
cout
<<"\
n
Введите количество элементов массива:";

                      cin >> n;


                      if (n<2)

                           {

                                 cout <<"Ошибка! Количество элементов массива должно быть не менее двух.\n
";


                                 return 3;

                           }


                     int*a = new int [n];

                     
enter
(
a
,
n
);//
функция ввода элементов массива



                     
cout
<<"\
nВведите заданный элемент для сравнения: ";


                     cin >> zad_elem;


                     if (zad_elem==a[n-1])

                         {

                               
cout
<<"\
n
Заданный элемент является последним в массиве ";

                              
return
4;


                         }


                    
if
(
poisk
(
a
,
n
,
zad
_
elem
))//
функция проверки наличия заданного элемента в массиве

                          {

                           del(
a
,
n
,
zad
_
elem
);//
функция удаляющая после каждого элемента с заданным значением,1 элемент, если он отличен от заданного

                               
print
(
a
,
n
);//
функция вывода элементов массива


                          }

                       
else
 
cout
<<"\
n
В массиве нет заданного элемента ";


                   system("pause");

                   break;

                  delete[]a;

              
}


                
case
(3):


                    {

                            
cout
<<"\
nВы выбрали пункт № 3-Вставить элемент с заданным значением после элемента с заданным номером.";

                            int new_element, zad_nomer;


                            
cout
<<"\
n
Введите количество элементов массива:";cin
>>
n
;


                           if (n<1)

                               {

                                   cout <<"\n Массив пуст\n";

                                   return 5;

                              }


                         int* a = new int[n+1];

                         enter
(
a
,
n
);//
функция ввода элементов массива



                        
cout
<<"\
n
Введите номер элемента после которого необходимо произвести вставку: ";


                      
cin
>>
zad
_
nomer
;


                       
if
(
n
<
zad
_
nomer
)//
если заданный номер превышает размерность массива

        
                  
   {


        
                      
   
cout
<<"
Ошибка! Массив не имеет элемента с заданным номером, так как количество элементов массива менее "<<zad
_
nomer
;


         
                      
  
return 6;


                             }


      
              
 
cout
<<"\
n
Введите элемент для вставки:";


                      
cin
>>
new
_
element
;


                      
paste
(
a
,
n
,
new
_
element
,
zad
_
nomer
);//
функция вставляющая элемент с заданным значением после элемента с заданным номером

                     
print
(
a
,
n
);//
функция вывода элементов массива



                    system("pause");

                    break;

                    delete[]a;

              
}


        
case
(4):


              {

                    
cout
<<"\
n
Вы выбрали пункт №4-Проверить есть ли в массиве два подряд идущих положительных элемента.";

                    
cout
<<"\
n
Введите количество элементов массива: ";


                   
cin
>>
n
;


                    
if
(
n
<2)


                          {

                             
cout
<<"\
n
Количество элементов массива менее двух.";

                            return 7;

                          }

                    int*a = new int [n];

                    
enter
(
a
,
n
);//
функция ввода элементов массива


                    
if
(
proverka
(
a
,
n
))//
функция проверяющая есть ли в массиве два подряд идущих положительных элемента


                        
cout
<<"\
n
Да, Массив содержит два подряд идущих положительных элемента. \n
";


                      
else



                          
cout
<<"\
n Два подряд идущих положительных элементов не найдено.\n
";



                     
system("pause");


                     break;

                     delete[]a;

                 }


         case(0):break;

         default: {break;}

     };

   }

 while(choice!=0);

 return 0;

}

void

enter
(
int
*
a
,
int

n
) //
функция ввода массива, a – массив, n – длина массива


     {

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

                 {

                      cout<<"\n Введи "<<i+1<< " элемент= ";

                      cin>>a[i]; }

                
}



int
 
max
(
int
*
a
,
int

n
) //
функция поиска номера максимального элемента


         {

             int numbermax=0, max=a[0];

             for (int j=1; j<n;j++)

                if (a[j]>max)

                 {

                        max=a[j];

                       numbermax=j;

                 }

            return numbermax;

         }


void print(int *a, int n) // функция вывода элементов массива


       {

            cout<<("\n Массив:");

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

                  cout<<"  "<<a[i];

           cout<<endl;

       }


bool

proverka

pologit
(
int
*
a
,
int

n
)//
функция проверяющая есть ли в массиве два подряд идущих положительных элемента

   
{


       for(int i=0;i<n-1;i++)

          if ((a[i]>0)&&(a[i+1]>0))

              return true;

       return false;

    }


void

paste
(
int
*
a
,
int
&
n
,
int

new
_
element
,
int

zad
_
nomer
)//
функция вставляющая элемент с заданным значением после элемента с заданным номером


       
{


            Int m=n+1;

            Int *b=new int[m];

            for (int i=0; i<=zad_nomer; i++)

                b[i]=a[i];

            b[zad_nomer+1]=new_element;

            for (int i=zad_nomer+2; i<m; i++)

               b[i]=a[i-1]

            delete [] a;

            a=b;

         }


bool

poisk
(
int
*
a
,
int

n

,
int

zad
_
elem
)//
функция проверяющая наличие заданного элемента в массиве

  
{


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

            if(a[i]==zad_elem)

               
return

true
;


       
return

false
;


   }


void
del(
int
*
a

,
int
&
n

,
int

zad
_
elem
)//
функция удаляющая после каждого элемента с заданным значением, 1 элемент, если он отличен от заданного

   
{


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

             if (a[i]==zad_elem)

                   if (a[i+1]!=zad_elem)

                        {

                            for (i=i+1; i<n-1; i++)

                            a[i]=a[i+1];

                            n
=
n
-1;


   
                    
}


    }


int

kol
_
vo
(
int
*
a

,
int

maxim

,
int

n
)//
функция вычисления количества элементов расположенных между центральным и максимальным элементами


  
{


          int x;

          x=(n/2)-maxim;

          int

kol
=(
abs
(
x
)-1);


         
cout
<<"
Количество элементов массива расположенных между максимальными центральным элементами = " <<  kol
<< "\
n
";


         
if
(
kol
==0)



               
cout
<<"
Между центральными максимальным элементами нет элементов";

    
   
  
return

kol
;


  }

bool

neskolko
(
int
*
a

,
int

n
)//
функция проверяющая есть ли несколько максимальных элементов

   
{


         Int d= max(a,n);

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

          if (d!=I && d ==a[i])

               return true;

         return false;

     }


ЛИТЕРАТУРА:
1)C/C++. Архив программ. Код с комментариями Автор: Арт Фридман, Ларс Кландер, Марк Михаэлис, Херб Шильдт Издательство: Бином, 2001 г.
2)C++. Учебный курс Автор: П. Франка Издательство: Питер, 2003 г.
3)Как программировать на C++ Автор:Дейтел Х., Дейтел П



1. Реферат Основные типы рыночных структур 2
2. Курсовая Ацетаты и ацетатные комплексы d-элементов 6 и 7 групп
3. Реферат Оценка оборудования
4. Реферат на тему Brain Cancer Essay Research Paper Brain Cancer
5. Сочинение Пошлое и трагическое лицо Петербурга в повести Николая Гоголя Невский проспект
6. Статья Перераспределение переводов в семиосфере
7. Реферат Стандартизация, сертификация и метрология 2
8. Реферат на тему Garibaldi Essay Research Paper GaribaldiJoseph Garibaldi
9. Реферат Концепция судебной реформы
10. Сочинение на тему Куприн а. и. - Основные темы творчества