Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример программы на обработку одномерного массива



//Найти и вывести номер элемента введенного с клавиатуры массива целых чисел,

//для которого сумма разностей со значениями соседних элементов максимальна.

//Для крайних элементов использовать циклическое замыкание.

#include<iostream.h>

#include<math.h>

#include <locale.h>

const int RAZ = 10; //размер массива

typedef int telem; //определение типа элементов массива

typedef telem tmas[RAZ]; //определение типа массива

int nomer(const tmas a, telem &max);

void inputmas(tmas a);

int main()

{tmas a; //массив

int nom; //номер искомого элемента

telem max; //значение максимальной суммы разностей

setlocale(LC_ALL,"Russian");

cout << " В массиве целых чисел найти номер элемента, для которого\n";

cout << " сумма разностей со значениями соседних элементов максимальна\n";

//Ввод исходных данных

inputmas(a);

//Поиск номера элемента

nom = nomer(a, max);

cout << " Искомый номер элемента массива: " << nom;

cout << "\n Значение элемента:" << a[nom] << ", сумма разностей=" << max;

cout << "\n Для завершения нажмите <Enter>";

return 0;

}

int nomer(const tmas a, telem &max)

{telem pr; //текущее значение разности

int imax = 0; //за максимум принимаем первый по счету элемент

max = abs(a[RAZ - 1] - a[0]) + abs(a[1] - a[0]);

for(int i = 1; i < RAZ - 1; i++)

if(max < (pr = abs(a[i-1] - a[i]) + abs(a[i+1] - a[i])))

{imax = i;

max = pr;

}

if(max < (pr = abs(a[0] - a[RAZ - 1]) + abs(a[RAZ - 2] - a[RAZ-1])))

{imax = RAZ - 1;

max = pr;

}

return imax;

}

void inputmas(tmas a)

{cout << "\n Введите в одной строке элементы массива, состоящего из ";

cout << RAZ << " целых чисел,\n и нажмите <Enter>\n";

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

cin >> a[i];

}






Дата публикования: 2015-09-18; Прочитано: 190 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...