Другие языки программирования и технологии

Пожалуйста напишите программу на языке С++. Буду благодарна :)

Программа в которой массив генерируется случайными числами от -5 до 15.
Вычислить произведение элементов массива до первого отрицательного.
М. S.
М. S.
90
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
int rnd(int a, int b);
void fill(int* arr, const size_t size, int left, int right);
long long mult(int* arr, const size_t size, int cp = -1);
void show(int* arr, const size_t size, streamsize w = 4);
void test(int* arr, const size_t size, int left, int right);
int main() {
const size_t size = 10;
int arr[size];
int left = -5;
int right = 15;
for (size_t i = 10; i; --i) test(arr, size, left, right);
cin.sync();
cin.get();
}
void test(int* arr, const size_t size, int left, int right) {
fill(arr, size, left, right);
show(arr, size);
long long m = mult(arr, size);
if (m > -1) cout << " Mult = " << m << endl;
else cout << " No such!\n";
}
void show(int* arr, const size_t size, streamsize w) {
for (size_t i = 0; i != size; ++i) cout << setw(w) << arr[i];
cout << endl;
}
long long mult(int* arr, const size_t size, int cp) {
long long m = 1;
size_t i;
for (i = 0; i != size; ++i) {
if (arr[i] <= cp) break;
m *= arr[i];
}
if (0 == i) m = -1;
return m;
}
void fill(int* arr, const size_t size, int left, int right) {
for (size_t i = 0; i != size; ++i) arr[i] = rnd(left, right);
}
int rnd(int a, int b) {
if (a > b) swap(a, b);
uniform_int_distribution<int> uid(a, b);
random_device rd;
return uid(rd);
}
Андрей Самсонов
Андрей Самсонов
99 103
Лучший ответ
#include
#include
#include
#include

using namespace std;

int main(){
int arr[100];int summ =0;
srand (time(0));
for(int i=0;i<100;i++)arr[i]= (rand() % 15)-5;//генерируем
for(int t=0;t<100;t++){//посчитываем с первого элемента
if(arr[t]<0)break;// если меньше нуля, завершаем.
else summ += arr[t];
}
cout << summ;
return 0;
}
Aleks Yakovishin
Aleks Yakovishin
202
Aleks Yakovishin ой там что то подтёрлоось вверху самим сайтом. вот оригинал.
заодно сам вспомнил программирование)
Araik Mesropyan Только просили не сумму, а произведение. Может быть, Катюшка сама подправит, это пара пустяков.
Чига А спасибо человеку так никто и не сказал :/