![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
#include <iostream.h>
int n posit(const int *a, const int n);
int main()
{
int I, n;
cout «"Введите количество элементов:”:cin» n;
int *a = new int[n];
int*b = new int[n];
cout «"Введите элементы первого массива: ";
for (i = 0; i< n; i++) cin» a[i];
cout «"Введите элементы второго массива: ";
for (i = 0; i< n; i++) cin» b[i];
if (n posit(a, n) > n posit(b, n))cout «" В первом положительных больше” «endl;
else if(n posit(a, n) < n_posit(b, n)) cout «" Во втором положительных больше" «endl;
else cout «" Одинаковое количество" «endl;
return 0;
int n posit(const int *a, const int n)
{
int count = 0;
for (int i = 0; i < n; i++)
if (a[i] > 0) count++;
return count;
}
}
В этой программе место под массивы выделяется в динамической области памяти, поскольку в задании не указано конкретное количество элементов. Однако функцию nposit можно без изменений применять и для «обычных» массивов, потому что для каждого из них имя тоже является указателем на нулевой элемент, только константным. Например, опишем массив из 10 элементов и инициализируем первые шесть из них (оставшимся будут присвоены нулевые значения):
int х[10] = {2, 3. -1, -10, 4, -2};
cout «n_posit(x. 10); //будет выведено значение 3
Рассмотрим способ анализа результатов работы функции. Функция вызывается в составе выражения в условном операторе. Для перебора всех трех вариантов результата приходится вызывать ее для каждого массива дважды, что для больших массивов, конечно, нерационально. Чтобы избежать повторного вызова, можно завести две переменные, в которые записываются результаты обработки обоих массивов, а затем использовать эти переменные в условных операторах:
int n posit a = n posit(a. n), n posit b = n posit(b, n);
if (n posit a > n posit b) cout «" В первом положительных больше" «endl;
else if (n posit a < n posit b) cout «" Во втором положительных больше" «endl;
else cout «" Одинаковое количество" «endl;
Современные компиляторы обладают широкими возможностями оптимизации и сами отслеживают подобные ситуации, преобразуя код программы, но это не означает, что на эффективность своих программ вообще не надо обращать внимания. Главным же критерием при выборе варианта написания программы, тем не менее, остается простота ее структуры и читаемость.
Дата публикования: 2015-10-09; Прочитано: 213 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!