Другие языки программирования и технологии

Ребят, помогите подправить программу на С++

В массиве b(28), сформированном случайным образом, найти количество элементов, стоящих на нечетных местах, удовлетворяющих условию a<ti<b, где a и b - заданные числа.

#include "StdAfx.h"

#include <iostream>

#include <time.h>

void main ()

{

setlocale (0, "Russian");

srand(time(NULL));

const int n=28;

int b[n];

int i, p, q, k=0;

for (i=0; i<n; i++)

{

b[i]=rand()%100;

std::cout<<b[i]<<" "<<"\n";

}

std::cout<<"Введите переменные p и q: ";

std::cin>>p>>q;

if (p>q)

{

int temp=q;

q=p;

p=temp;

}

for (i=1; i<n; i+=2) //тут четность

if (b[i]>p && b[i]<q)

k++;

std::cout<<"Элементы, удовлетворяющие условию = ";

std::cout<<"("<<p<<";"<<q<<") = "<<k;

system("pause");

return 0;

}
Андрей Сим
Андрей Сим
170
#include <iostream>
#include <random>
using namespace std;
int randomize(int = 0, int = 99);
int main() {
const size_t size = 28;
int arr[size];
for (int i = 0; i < size; ++i) arr[i] = randomize();
for (auto i : arr) cout << ' ' << i;
setlocale(0, "Russian");
cout << "\nВведите переменные a и b: ";
int a, b;
cin >> a >> b;
cout << "Массив не зрительный зал, в нём нет мест! \nВ массиве доступ по индексам!! \n";
size_t count = 0;
for (size_t i = 1; i < size; i += 2)
if (a < arr[i] && b > arr[i]) {
++count;
cout << "arr[" << i << "] = " << arr[i] << '\n';
}
cout << "Результат: " << count << endl;
cin.sync();
cin.get();
}
int randomize(int left, int right) {
if (left > right) swap(left, right);
uniform_int_distribution<int> rand(left, right);
random_device rnd;
return rand(rnd);
}
Толик Наджафов
Толик Наджафов
56 502
Лучший ответ
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
srand(time(NULL)); const int n=28; int m[n],a,b,k=0;
for(int i=0;i<n;i++)cout<<(m[i]=rand()%100)<<' ';
cout<<endl<<"a b ( a<b ): "; cin>>a>>b;
for(int i=0;i<n;i+=2)k+=m[i]>a&&m[i]<b;
cout<<endl<<"k="<<k<<endl; cin.get(); cin.get();}
Не, ну правда, проблема-то в чём? Допустим, на взгляд привередливого читателя последние for и if без операторных скобок плохо смотрятся. Но это в данном случае вроде мешать не должно. Остальное "выглядит вполне адекватно", ага.
Выглядит вполне адекватно.. . В чем проблема-то?
Viktor Druz
Viktor Druz
274