main() int N = 10, count = 0, z = 5, i; int m[N]; double res = 0
for(i = 0, i < N, i++) if ((m[i] >= -3) && (m[i] <= 3)) { count++; res = res + m[i]; }
if (count == 0) res = 0; else res = res / count;
if (res > z) { res = 0; for(i = 0; i < N; i++) if (m[i] % 2 == 0) res = res + m[i]; } else { res = 1; for(i = 0; i < N; i++) if (m[i] % 2 != 0) res = res * m[i]; }
Решение задачи в прикрепленном текстовом файле. Описание алгоритма: Полученные строки хранятся в массиве s. Элементы массива сортируются так называемой "пузырьковой" сортировкой. Для сравнения двух строк используется функция less, возвращающая истину если первая из двух переданных в функцию строк лексикографически меньше. А дальше дело за малым: просто выводим элементы отсортированного массива без первых трех символов (номера строк). Единственная проблема, которая может возникнуть: на некоторых компьютерах программа не работает с русским языком. Но это уже технические проблемы. Само же решение верно. Удачи!
main()
int N = 10, count = 0, z = 5, i;
int m[N];
double res = 0
for(i = 0, i < N, i++)
if ((m[i] >= -3) && (m[i] <= 3))
{
count++;
res = res + m[i];
}
if (count == 0)
res = 0;
else
res = res / count;
if (res > z)
{
res = 0;
for(i = 0; i < N; i++)
if (m[i] % 2 == 0)
res = res + m[i];
}
else
{
res = 1;
for(i = 0; i < N; i++)
if (m[i] % 2 != 0)
res = res * m[i];
}
printf("Z = %f", res);
}
Описание алгоритма:
Полученные строки хранятся в массиве s.
Элементы массива сортируются так называемой "пузырьковой" сортировкой. Для сравнения двух строк используется функция less, возвращающая истину если первая из двух переданных в функцию строк лексикографически меньше.
А дальше дело за малым: просто выводим элементы отсортированного массива без первых трех символов (номера строк).
Единственная проблема, которая может возникнуть: на некоторых компьютерах программа не работает с русским языком. Но это уже технические проблемы. Само же решение верно.
Удачи!