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

Листинг 4.1



#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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



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