Составьте программу, которая формирует массив, содержащий 16 случайных вещественных...

0 голосов
59 просмотров

Составьте программу, которая формирует массив, содержащий 16 случайных вещественных чисел, принадлежащих промежутку [-2;3] и подсчитывает сумму отрицательных чисел. Вывод в столбец с двумя десятичными знаками.


Информатика (66 баллов) | 59 просмотров
Дано ответов: 2
0 голосов

#include

#include

 

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;</p>

 float b=0;

 int c=0;

 for(int i=0;i<16;i++)</p>

 {

  if(a[i]<0)</p>

  {

   b+=a[i];

   c++;

  }

 }

 cout<<Rus("Сумма отр. чисел:")<<b<<endl;</p>

 cout<<Rus("Вего отр. элементов:")<<c<<endl;</p>

 cout<<Rus("Исходный массив:")<<endl; </p>

 for(int i=0;i<16;i++)</p>

 {

  cout<<a[i]<<endl;</p>

 }

 system("PAUSE");

 return 0;

}

 

/*

  фунция rand() возращает случайное число от 0 до бесконечности.

  a%b - остаток от деления числа a на число b.

  rand()%501 - случайное число от нуля до 500.

  (float)x - преопразование x в тип float.

 

*/

(772 баллов)
0 голосов

#include
using std::cout;
using std::endl;
using std::fixed;
#include
using std::rand;
using std::srand;
#include
using std::time;
#include
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;<br>    }
    cout << endl;<br>
    cout << "Sum = " << counter << endl;<br>
   return 0;
}


image
(2.0k баллов)