Вроде делал без bool, всё работало, сейчас беда какая-то...
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;
bool chet(int);
void vyvod(int mas[], int a) {
int i;
for (i = 0; i < a; i++)
cout << mas[i] << " ";
cout << endl;
}
int nechetn(int mas[], int a, int nech[], int u) {
int i, neb = 0;
for (i = 0; i < a; i++) {
if (!(chet(mas[i]))) {
nech[neb] = mas[i];
neb++;
}
}
return neb;
}
int chetn(int mas[], int a, int ch[], int u) {
int i, b = 0;
for (i = 0; i < a; i++) {
if (chet(mas[i])) {
ch[b] = mas[i];
b++;
}
}
return b;
}
int main() {
int i, A, B, chetn, nechetn, kchet, knechetn;
int mas[30], ch[30], nech[30], chet[30];
cout << "Диапазон" << endl;
cout << "введите А: ";
cin >> A;
cout << "введите В: ";
cin >> B;
srand(time(NULL));
for (i = 0; i < 30; i++)
mas[i] = rand() % (B - A + 1) + A;
kchet = chetn(mas, 30, ch, 30);
knechetn = nechetn(mas, 30, nech, 30);
cout << "массив рандома: " << endl;
vyvod(mas, 30);
cout << "массив четных: " << endl;
vyvod(ch, kchet);
cout << "массив не четных: " << endl;
vyvod(nech, knechetn);
system("pause");
return 0;
}
bool chet(int a) {
int i;
if (a % 2 == 0)
return true;
return false;
}
Возьмите в привычку давать переменным и функциям разные имена. Если вы будете бездумно давать им одинаковые имена - то будут получаться такие ошибки. Это не запрещено, но делать это надо с пониманием происходящего.
У вас в функции main
имена chetn
и nechetn
- это переменные типа int
, а не функции. А вы их пытаетесь "вызывать" как функции. О чем вам компилятор ясно и сказал.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Читаю статью по исключениям и решил скопировать код оттудаВот код:
Мне нужно в MessageBox запихнуть stringНа выходе я получаю не нужную строку, а набор китайских иероглифов
Ну вообще не понимаю как решить данную задачу (наверное она на метод включения-исключения)
Как можно скопировать все файлы, имена которых начинается с "stat" (есть примерно 500 файлов типа stat1txt stat2