Дан массив размера
n
, заполнить его случайными числами, Найти все нечётные числа массива.Читаем у нас на сайте — Как работать с массивами. После создания массива, его необходимо заполнить случайными числами, а для этого нужно воспользоваться генератором случайных чисел. Пример работы программы смотрим ниже:
// array_even_numbers.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <ctime> using namespace std; int main(int argc, char* argv[]) { srand(time(0)); // генерация случайных чисел cout << "Enter size array: "; int array_size; cin >> array_size; int *ptrarray = new int [array_size]; // создание динамического массива for (int count = 0; count < array_size; count++) ptrarray[count] = (rand() % 99 + 1); //заполнение массива случайными числами с масштабированием от 1 до 99 cout << "array = "; for (int count = 0; count < array_size; count++) cout << ptrarray[count] << " "; // печать первоначального массива cout << "\nRezult = "; for (int count = 0; count < array_size; count++) if ((ptrarray[count] % 2) != 0) // отсеиваем чётные числа cout << ptrarray[count] << " "; // печать нечётных значений элементов массива delete [] ptrarray; // высвобождение памяти cout << endl; system("pause"); return 0; }
Создаётся динамический массив, который заполняется случайными числами в диапазоне [1;99] и выполняется поиск нечётных чисел. Вот результат:
CppStudio.com
Enter size array: 20
array = 60 78 78 77 75 94 49 7 8 81 35 94 8 38 29 31 76 42 12 67
Rezult = 77 75 49 7 81 35 29 31 67
Комментарии
Lee Amstrong
chachic
#include <iostream>
#include <time.h>
#include <valarray>
#include <queue>
using namespace std;
int main ()
{
setlocale(LC_CTYPE,»rus»);
queue<int> qw; // Очередь для хранения номеров в масиве
srand(time(NULL));
int n=0;
cout <<«Введите размерность массива :»;
cin>>n;
valarray<int> mas(n); //создаем массив
for(int i =0;i<n;i++) mas[i]=rand()%99; //заполняем рандомными 1-99
for(int i = 0;i<mas.size();i++)
{
if((mas[i]%2)!=1) //если 1 то четное если нет то не четное
{
qw.push(i); //записываем номера в очередь
}
}
cout<<endl;
for(int i = 0;i<mas.size();i++)
{
cout <<endl<<mas[i];
}
cout<<endl;
while (qw.size()) //пока очередь не пуста
{
cout <<endl<<mas[qw.front()]; //выводи елементы выборки
qw.pop(); //выталкиваем последний елеиент из очереди
}
cin.get();
return 0;
}
Eduard_P
То же, только с применением контейнера
и сортировкой значений по возрастанию (C++11)
colt
Anufree