1. блоки 1 – 2 вводятся исходные данные;
2. блоки 3 – 9 вычисление и вывод количества K меньших заданного X;
3. блоки 10 – 18 вычисление количества K1 и произведения P отрицательных элементов массива стоящих на четных местах;
4. блоки 18 – 20 проверка на наличие в массиве отрицательных чисел на четных местах и в случаи выполнения проверки вывод их произведения P.
Листинг программы
#include <stdio.h>
#include <math.h>
main ()
{
float P, A[10], x; //Описание переменных
int i, k1, k, n;
puts (“ Введите число x”);
scanf (“%f”, &x); // Ввод x
puts (“ Введите число элементов массива А”);
scanf (“%d”, &n);
for (i=0; i<n; i++) // Ввод массива
{
printf(“Введите число A[%d]=”, i);
scanf(“%f”, &A[i]);
}
puts(“Массив А”); // Вывод массива
for (i=0; i<n; i++)
printf(“%.2f “, A[i]);
printf(“\n”);
printf(“ x=%.3f \n”, x); // Вывод x
k=0;
for (i=0; i<n; i++)
if (A[i]<x) k=k+1; // Определение кол-ва чисел <x
printf(“ k=%d\n”,k);
P=1;
k1=0;
for (i=1; i<n; i=i+2)
if (A[i]<0)
{ // Вычисление произведения
P=P*A[i]; // отрицательных чисел
k1=k1+1; // стоящих на четных местах
}
if (k1==0)
printf(“В массиве на чётных местах нет отрицательных чисел \n”);
else
printf(“ P=%6.2f \n”,P);
}
Тесты
1)
Массив А
3.00 6.00 10.00 -7.00 -3.00 -7.00 -5.00 17.00 6.00 10.00
x=10.000
k=7
P= 49.00
2)
Массив А
2.00 9.00 4.00 6.00 7.00 8.00
x=0.000
k=0
В массиве на чётных местах нет отрицательных чисел
Задача.2. Вычисление сумм, количеств и произведений элементов массива
Предполагается, что задан массив чисел. Программа должна:
1) вводить размерность и элементы массива;
2) вводить некоторые дополнительные числа;
3) выполнять действия в соответствии с условием задачи;
4) выводить исходные данные и результаты вычислений.
Исходные данные для отладки программы выбрать самостоятельно. Массив объявить как динамический.
Задание:
В одномерном массиве A размерностью n, найти максимальный элемент, расположенный между первым и последним нулевыми элементами массива.
A={10; 3; 8;0;0;-3;6;1;5;0;11;7}
Решение
Таблица соответствия переменных
Переменные в задаче | Имя на языке Си | Тип | Комментарий |
max | max | int | Максимальное число |
A[] | A[] | int | Одномерный динамический массив |
– | n | int | Количество элементов |
– | t1 | int | Индекс первого нулевого элемента |
– | t2 | int | Индекс последнего нулевого элемента |
– | i | int | Номер элемента массива; параметр цикла |