Составьте программу, которая формирует массив, содержащий 16 случайных вещественных чисел, принадлежащих промежутку [-2;3] и подсчитывает сумму отрицательных чисел. Вывод в столбец с двумя десятичными знаками.
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
#include <iostream>
#include <windows.h>
char BufRus[256];
char* Rus(const char* text)
{
CharToOem(text, BufRus);
return BufRus;
}
using namespace std;
int main()
{
float a[16];
for(int i=0;i<16;i++) a[i]=((float)(rand()%501))/100.0f-2;
float b=0;
int c=0;
for(int i=0;i<16;i++)
{
if(a[i]<0)
{
b+=a[i];
c++;
}
}
cout<<Rus("Сумма отр. чисел:")<<b<<endl;
cout<<Rus("Вего отр. элементов:")<<c<<endl;
cout<<Rus("Исходный массив:")<<endl;
for(int i=0;i<16;i++)
{
cout<<a[i]<<endl;
}
system("PAUSE");
return 0;
}
/*
фунция rand() возращает случайное число от 0 до бесконечности.
a%b - остаток от деления числа a на число b.
rand()%501 - случайное число от нуля до 500.
(float)x - преопразование x в тип float.
*/
#include <iostream>
using std::cout;
using std::endl;
using std::fixed;
#include <cstdlib>
using std::rand;
using std::srand;
#include <ctime>
using std::time;
#include <iomanip>
using std::setprecision;
int main()
{
float a[16];
float counter = 0;
srand(time(0));
for(int i = 0; i < 16; i++)
{
a[i] = float(rand()) / RAND_MAX * (3.0 + 2.0) - 2.0;
if(a[i] < 0.0)
{
counter += a[i];
}
cout << setprecision(2) << fixed << a[i] << endl;
}
cout << endl;
cout << "Sum = " << counter << endl;
return 0;
}