Язык программирования C++. Вводный курс

         

В некоторых случаях вместо инструкции


Вот окончательная версия функции min() и программа main(), проверяющая ее работу:











#include <iostream>

#include <vector>

int min( const vector< int > &ivec, int &occurs )

{

    int minVal = ivec[ 0 ];

    occurs = 1;

    int size = ivec.size();

    for ( int ix = 1; ix < size; ++ix )

    {

        if ( minVal == ivec[ ix ] )

            ++occurs;

        else

        if ( minVal > ivec[ ix ] ){

            minVal = ivec[ ix ];

            occurs = 1;

        }

    }

    return minVal;

}

int main()

{

    int ia[] = { 9,1,7,1,4,8,1,3,7,2,6,1,5,1 };

    vector<int> ivec( ia, ia+14 );

    int occurs = 0;

    int minVal = min( ivec, occurs );

    cout << "Минимальное значение: " << minVal

         << " встречается: " << occurs << " раз.\n";

    return 0;



}

Результат работы программы:

Минимальное значение: 1 встречается: 5 раз.

В некоторых случаях вместо инструкции if-else можно использовать более краткое и выразительное условное выражение. Например, следующую реализацию функции min():











template <class valueType>

inline const valueType&

min( valueType &vall, valueType &va12 )

{

    if ( vall < va12 )

        return vall;

    return va12;



}

можно переписать так:











template <class valueType>

inline const valueType&

min( valueType &vall, valueType &va12 )

{

    return ( vall < va12 ) ?    vall : va12;



}

Длинные цепочки инструкций if-else, подобные приведенной ниже, трудны для восприятия и, таким образом, являются потенциальным источником ошибок.











if ( ch == 'a' ||

     ch == 'A' )

        ++aCnt;

else

if ( ch == 'e' ||

     ch == 'E' )

        ++eCnt;

else

if ( ch == 'i' ||

     ch == 'I' )

        ++iCnt;

else

if ( ch == 'o' ||

     ch == '0' )

        ++oCnt;

else

if ( ch == 'u' ||

     ch ==

'U' )



        ++uCnt;


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий