1) заполните массив случайными числами в диапазоне 20..100 и подсчитайте отдельно число чётных и нечётных элементов. 2) заполните массив случайными числами в диапазоне 0..100 и подсчитайте отдельно среднее значение всех элементов, которые < 50, и среднее значение всех элементов, которые ≥50.

zhenyazhitenko zhenyazhitenko    3   20.09.2019 16:20    3

Ответы
tanea201111 tanea201111  08.10.2020 05:03
#include <iostream>#include <time.h>#include <stdio.h>#include <stdlib.h>#define max 100using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) { srand(time(NULL)); int n , Chet = 0 ,notChet = 0 ,a[max]; cout<<"Size : "; cin>>n; for(int i = 0; i < n; i++) { a[i] = rand()%120+20; cout<<a[i]<<endl; if (a[i] %2 == 0) Chet++; else notChet++; } cout<<"Chet = "<<Chet<<", NotChet = "<<notChet; return 0;}
ПОКАЗАТЬ ОТВЕТЫ
roma845 roma845  08.10.2020 05:03
1)
typedef size_t uint32; 
mt19937 gen{ random_device()() }; 
uniform_int_distribution<uint32> uid(20, 100); 
const uint32 N = 10;     
int main() 
{
     uint32 arr[N], pos{0}, neg{0};
     for (uint32 i = 0; i < N; ++i) {
         arr[i] = uid(gen);
         cout << arr[i] << " ";
         if (arr[i] % 2 == 0) ++pos;
         else ++neg;
     }
     cout << endl << pos << "/" << neg << endl;
     system("pause"); 
}
2)
typedef size_t uint32; 
mt19937 gen{ random_device()() }; 
uniform_int_distribution<uint32> uid(0, 100); 
const uint32 N = 10;     
int main() 
{
     uint32 arr[N], lf{ 0 }, hf{ 0 }, sum1{ 0 }, sum2{ 0 };
     for (uint32 i = 0; i < N; ++i) {
         arr[i] = uid(gen);
         cout << arr[i] << " ";
         if (arr[i] >= 50) {
             ++lf;
             sum1 += arr[i];
         } else {
             ++hf;
             sum2 += arr[i];
         }
     }
     cout << endl << sum1 / lf << "/" << sum2 / hf << endl;
     system("pause"); 
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика