/* 1. В одномерном массиве, состоящем из N различных вещественных элементов, вычислить: 1) максимальный по модулю элемент массива; 2) сумму элементов массива, расположенных между первым и вторым положительными элементами. Виталий Мельник & MSP, 2 курс, АС-208, 18.10.09, 13:16 */ # include # include # include # define R 100 // максимальный размер массива int main () { float S, // сумма элементов, расположенных между первым и вторым // положительными элементами max, // максимальный по модулю A [R]; int P, // счетчик положительных элементов first, // индекс первого положительного числа second, // индекс второго положительного числа i, // индекс массива L; // размер массива clrscr (); printf ("Введите размер массива: "); scanf ("%i", & L); // заполним массив с клавиатуры for (i = 0; i < L; i ++) { printf ("e [%i] = ", i); scanf ("%f", & A [i]); fflush (stdin); } // найдем максимальный модуль max = fabs (A [0]); for (i = 1; i < L; i ++) if (fabs (A [i]) > max) max = fabs (A [i]); printf ("\nМаксимальный по модулю: %.2f\n", max); printf ("\nЭлементы массива, значение которых максимально" " по модулю:\n"); for (i = 0; i < L; i ++) if (fabs (A [i]) == max) printf ("%.2f ", A [i]); // найдем индексы первого и второго положительного элементов P = 0; first = second = - 1; for (i = 0; i < L; i ++) if (A [i] > 0) { ++ P; if (P == 1) first = i; if (P == 2) { second = i; break; } } if ( first == -1 || second == -1 ) { printf ("\nНет положительных...\n"); getch (); return 1; } // найдем сумму элементов массива, расположенных между первым и // вторым положительными элементами S = 0.0; for (i = first + 1; i <= second - 1; ++ i) S = S + A [i]; printf ("\nСумма элементов равна %.2f\n", S); getch (); return 0; }