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

Помогите чайнику с C++

"Дан массив из N натуральных чисел. Создать массив из чётных чисел этого массива. Если таких чисел нет, то вывести сообщение об этом факте."
vector < int > arr(N), arrt;
for (int i = 0; i < N; i++) {
arr[i] = rand();
if (arr[i] % 2 == 0)
arrt.insert(arrt.end(), arr[i]);
}
if ((int)arrt.size() > 0)
for (int i = 0; i < (int)arrt.size(); i++)
cout << arrt[i] << '\t';
else cout << "Четных чисел в массиве нет!";
Ер_ Ко
Ер_ Ко
2 372
Лучший ответ
Я не знаю точный синтаксис команд, но это делается где-то так:
Создать пустой массив x
Цикл, i=0; i не больше количества элементов в массиве; i++ {
взять элемент исходного массива под номером i и вычислить остаток от деления на 2
если остаток = 1, ничего не делать
иначе
добавить элемент массива в конец массива x
}
если длина массива x = 0
printf("таких чисел нет")
иначе
printf(x)
Юрий Гребенчук
Юрий Гребенчук
49 173
Максим Ильиных С вектором прокатило бы) К сожалению для выделения памяти под массив нужно знать кол-во элементов...
#include "stdafx.h"
#include
#include

using namespace std;

const int N = 10;

int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "rus");
int array[N];
srand(time(0));
cout << "Заданный массив: ";
for (int i = 0; i < N; i++)
{
array[i] = rand() % 100 + 1;
cout << array[i] << " ";
}
cout << endl;
int count = 0;
int newarray[N];
for (int i = 0; i < N; i++)
{
if (array[i] % 2 == 0)
{
newarray[count++] = array[i];
}
}
if (count == 0)
cout << "Таких элементов нет!!!";
else
{
cout << "Новый массив: ";
for (int i = 0; i < count; i++)
cout << newarray[i] << " ";
}
cout << endl << endl;;
system("Pause");
return 0;
}
Два часа титанического труда и готова рабочая прога)
Первые три строчки напиши как на скриншоте, движок мэйла режет листинг кода (

include iostream
include stdlib.h
include ctime
using namespace std;
int main() {
srand ( time(0) );
int n=20;
int x=0;
int mas[20];
cout<<"Исходный массив"<<endl;
for (int i=0; i<n; i++)
{ mas[i] = rand()%100;
cout << mas[i] << " "; }
for (int i=0; i<n; i++)
{ if ((mas[i]% 2) == 0) {x=x+1;}
}
cout<<endl;
if (x==0) {cout<<"Чётных чисел нет"; getchar();}
int* mass1=new int[x];
int a=0;
for (int i=0; i<n; i++)
{ if ((mas[i]%2) !=1) {mass1[a]=mas[i];a=a+1;} }
cout<<endl<<"Массив из чётных чисел"<<endl;

for (int i=0; i<a; i++)
{
cout << mass1[i] << " "; }
}

Чтобы проверить случай когда чётных нет, 12ую строку поменяй на
{ mas[i] = 1;