Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
#include “stdafx.h”
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
const int n = 10;
int a[n] = {1, 3, -5, 1, -2, 1, -1, 3, 8, 4};
int i, imax, imin, count;
setlocale(LC_ALL, "Russian");
for(i = imax = imin = 0; i < n; i++)
{
if(a[i] > a[imax]) imax = i;
if(a[i] < a[imin]) imin = i;
}
cout << “\n\t max = “ << a[imax] << “\t min = “
<< a[imin] << endl;
int ibeg = (imax < imin)? imax: imin;
int iend = (imax < imin)? imin: imax;
cout << “\n\t ibeg = “ << ibeg << “\t iend = “
<< iend << endl;
for(count = 0, i = ibeg + 1; i < iend; i++)
if(a[i] > 0) count++;
cout <<“Количество положительных “<< count <<endl;
getch();
return 0;
}
В программе использована управляющая последовательность \t, которая задает отступ при выводе на следующую позицию табуляции. Массив просматривается, начиная с элемента, следующего за максимальным (минимальным), до элемента, предшествующего минимальному (максимальному). Индексы границ просмотра хранятся в переменных ibeg и iend. В приведенной выше программе для определения их значений используется тернарная условная операция. Можно поступить и по-другому: просматривать массив всегда от максимума к минимуму, а индекс при просмотре увеличивать или уменьшать в зависимости от их взаимного расположения.
В приведенной ниже программе направление просмотра, то есть приращение индекса, хранится в переменной d. Если массив просматривается «слева направо», она равна 1, иначе - -1. Обратите внимание и на изменившееся условие продолжения этого цикла.
Дата публикования: 2015-10-09; Прочитано: 287 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!