
Вопрос задан 23.01.2020 в 19:50.
Предмет Информатика.
Спрашивает Onyshchuk Angelina.
Где ошибка в коде С++ ? Помогите, пжл. Задание: Динамически создать массив размера n (n вводится с
клавиатуры) и заполнить его случайными числами из диапазона [a, b] (a, b вводятся с клавиатуры). Заполнение массива реализовать с помощью функции. Вычислить количество элементов массива, лежащих в диапазоне от number_А до number_В (number_А и number_В вводятся с клавиатуры), с помощью функции. #include #pragma hdrstop #include #include #include using namespace std; void z(int *m, int n, int a, int b) { srand(time(NULL)); for(int i=0;i< n;i++)m[i]=a+rand()%(b-a+1);} int k(int *m, int n, int a, int b) { int s=0; for(int i=0;i< n;i++)s+=m[i]>=a&&m[i]<=b; return s; } int main() { int n,a,b,na,nb; cout<<" Vvedite razmer massiva n: "; cin>>n; int *m=new int[n]; cout<<"Vvedite diapazon ot a do b: "; cin>>a>>b; z(m,n,a,b); for(int i=0;i< n;i++)cout< cout<< endl; cout<<"number_A number_B: "; cin>>na>>nb; cout<<"k="<< k(m,n,na,nb); delete []m; cout<<"\nPress Enter for exit\n"; cin.get(); cin.get();} Считает разность между А и Б, а не количество элементов

Ответы на вопрос

Отвечает Варежкин Антон.
#include <iostream>
using namespace std;
void z(int *m, int n, int a, int b)
{
srand(time(NULL));
for(int i=0;i< n;i++) m[i]=a+rand()%(b-a+1);
}
int k(int *m, int n, int a, int b)
{
int s=0;
for(int i=0;i< n;i++) s+=m[i]>=a && m[i]<=b;
return s;
}
int main()
{
int n,a,b,na,nb;
cout<<" Vvedite razmer massiva n: "; cin>>n;
int *m=new int[n];
cout<<"Vvedite diapazon ot a do b: "; cin>>a>>b;
z(m,n,a,b);
for(int i=0;i< n;i++) cout << m[i] << " ";
cout<< endl;
cout<<"number_A number_B: ";
cin>>na>>nb;
cout<<"k="<< k(m,n,na,nb);
delete []m;
cout<<"\nPress Enter for exit\n";
cin.get();
cin.get();
}
Пример:
Vvedite razmer massiva n: 10
Vvedite diapazon ot a do b: 10 50
15 16 31 21 36 34 23 39 31 11
number_A number_B: 20 30
k=2
Press Enter for exit
using namespace std;
void z(int *m, int n, int a, int b)
{
srand(time(NULL));
for(int i=0;i< n;i++) m[i]=a+rand()%(b-a+1);
}
int k(int *m, int n, int a, int b)
{
int s=0;
for(int i=0;i< n;i++) s+=m[i]>=a && m[i]<=b;
return s;
}
int main()
{
int n,a,b,na,nb;
cout<<" Vvedite razmer massiva n: "; cin>>n;
int *m=new int[n];
cout<<"Vvedite diapazon ot a do b: "; cin>>a>>b;
z(m,n,a,b);
for(int i=0;i< n;i++) cout << m[i] << " ";
cout<< endl;
cout<<"number_A number_B: ";
cin>>na>>nb;
cout<<"k="<< k(m,n,na,nb);
delete []m;
cout<<"\nPress Enter for exit\n";
cin.get();
cin.get();
}
Пример:
Vvedite razmer massiva n: 10
Vvedite diapazon ot a do b: 10 50
15 16 31 21 36 34 23 39 31 11
number_A number_B: 20 30
k=2
Press Enter for exit


Топ вопросов за вчера в категории Информатика

Информатика 562

Информатика 404

Информатика 31

Информатика 76

Информатика 16

Информатика 41

Информатика 31
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili