Лидеры

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт


ID: 401284

Михаил Александров

Советник


ID: 226425

Konstantin Shvetski

Модератор


ID: 137394

Megaloman

Мастер-Эксперт


ID: 401888

puporev

Профессор


ID: 400669

epimkin

Профессионал


ID: 405239

al4293189

4-й класс


8.13.11

14.01.2022

JS: 2.13.37
CSS: 4.8.5
jQuery: 3.6.0
DataForLocalStorage: 2022-01-17 19:27:11-standard


Консультация онлайн # 202039

Раздел: С / С++
Автор вопроса: Pavel (Посетитель)
Дата: 07.01.2022, 18:22 Консультация закрыта
Поступило ответов: 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Вычислить произведение чисел, принадлежащих промежутку (A,B], и количество отрицательных чисел, стоящих на местах, кратных 3. Как написать программу с++

Ответ # 1, Megaloman (Мастер-Эксперт)

Код
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

void main() {
    const int n = 20; 		// число элементов массива
    const float A0 = -15.67;	// минимальное случайное число в массиве
    const float B0 = 1.789;	// максимальное случайное число в массиве

    const float A = -5.67;	// левая граница правого полуинтервала
    const float B = 1.65;	// правая граница правого полуинтервала
    const int k = 3;		// кратность номеров в массиве для отрицательных чисел

    float M[n];
    double P;
    int i, nAB, kA0B0, kAB;
    time_t t;

    clrscr();                 	// очистка экрана

    srand((unsigned) time(&t));
    for (i = 0; i < n; i++) M[i] = rand() / 32767. * (B0 - A0) + A0;	//Заполнение массива случайными числами

    P = 1;
    nAB = 0;
    kA0B0 = 0;
    kAB = 0;

    for (i = 0; i < n; i++) {
	if (M[i] > A && M[i] <= B) {
		printf("\n %5d%10.4f", i, M[i]);
		P = P * M[i];
		nAB++;
	}
	else printf("\n %20d%10.4f", i, M[i]);

	if (M[i] < 0 && i % k == 0) {
		kA0B0++;
		if (M[i] > A && M[i] <= B) kAB++;
	}
    }

    if (nAB != 0) printf("\nПроизведение %d чисел %7.3f < x <=%7.3f равно: %8.6e", nAB, A0, B0, P);
    else printf("\nЧисла в полуинтервале %7.3f < x <=%7.3f не найдены", A0, B0);

    printf("\nДля %7.3f < x <=%7.3f количество чисел <0, (индексы кратные %d) = %d", A0, B0, k, kA0B0);
    printf("\nДля %7.3f < x <=%7.3f количество чисел <0, (индексы кратные %d) = %d",  A,  B, k, kAB);

}

Последнее редактирование 08.01.2022, 21:01 Megaloman (Мастер-Эксперт)


Megaloman

Мастер-Эксперт
08.01.2022, 17:37
Нет оценки ответа

Мини-форум консультации # 202039


Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.