информатика 8 класс
А. Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [-5;5] и находит сумму положительных элементов
B. Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [-2;2] и находит произведение ненулевых элементов
С. Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [100;1000] и находит отдельно сумму элементов в первой и во второй половинах массива

Ответы

Ответ дал: nazikmuz
0

Відповідь:

А. Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [-5;5] и находит сумму положительных элементов

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void randarr(int *arr,const int size){

for(int i = 0; i < size; i++){

 arr[i] = rand() % 10 - 5;

}

}

void printarr(int *arr,const int size){

for(int i = 0; i < size; i++){

 cout << arr[i] << " ";

}

}

int sum(int *arr,const int size){

int sum = 0;

for(int i = 0; i < size; i++){

 if(arr[i] > 0){

  sum += arr[i];

 }

}

return sum;

}

const int size = 10;

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Rus");

int arr[size];

cout << "Массив: ";

randarr(arr,size);

printarr(arr,size);

cout << "\nСумма положительных елементов = " << sum(arr,size) << endl;      

return 0;                          

}

B. Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [-2;2] и находит произведение ненулевых элементов

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void randarr(int *arr,const int size){

for(int i = 0; i < size; i++){

 arr[i] = rand() % 4 - 2;

}

}

void printarr(int *arr,const int size){

for(int i = 0; i < size; i++){

 cout << arr[i] << " ";

}

}

int mult(int *arr,const int size){

int multiplication = 1;

for(int i = 0; i < size; i++){

 if(arr[i] != 0){

  multiplication *= arr[i];

 }

}

return multiplication;

}

const int size = 10;

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Rus");

int arr[size];

cout << "Массив: ";

randarr(arr,size);

printarr(arr,size);

cout << "\nПроизведение ненулевых елементов = " << mult(arr,size) << endl;      

return 0;                          

}

С. Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [100;1000] и находит отдельно сумму элементов в первой и во второй половинах массива

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void randarr(int *arr,const int size){

for(int i = 0; i < size; i++){

 arr[i] = rand() % 1000 + 100;

}

}

void printarr(int *arr,const int size){

for(int i = 0; i < size; i++){

 cout << arr[i] << " ";

}

}

void sum(int *arr,const int size){

int sum1 = 0,sum2 = 0;

for(int i = 0; i < 10; i++){

 sum1 += arr[i];

}

for(int i = 10; i < size; i++){

 sum2 += arr[i];

}

cout << "Сумма первой половины = " << sum1 << endl;

cout << "Сумма второй половины = " << sum2 << endl;

}

const int size = 20;

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Rus");

int arr[size];

cout << "Массив: ";

randarr(arr,size);

printarr(arr,size);

cout << endl;

sum(arr,size);      

return 0;                          

}

Вас заинтересует
9 лет назад