В строке int choose(massive[0], massive[1], massive[2]); на втором элементе массива пишет "слишком много значений инициализатора"
Вот полный код:
#include <iostream>
using namespace std;
int choose(int massive1, int massive2, int massive3);
int main() {
setlocale(LC_ALL, "RU");
int massive[4]{};
cout << "Введите значения в массив по порядку: " << endl;
cin >> massive[0];
cout << endl;
cin >> massive[1];
cout << endl;
cin >> massive[2];
cout << endl;
cout << "Список действий : 1 - сложить; 2 - вычитать; 3 - Найти максимальное число; 4 - Найти минимальное число;" << endl;
int choose(massive[0], massive[1], massive[2]);
return 0;
}
int choose(int massive1, int massive2, int massive3) {
int *a = new int;
cin >> *a;
// Вывод суммы элементов массива.
if (*a == 1) {
cout << massive1 + massive2 + massive3;
}
// Вывод разности элементов массива.
if (*a == 2) {
cout << massive1 + massive2 + massive3;
}
//вывод максимального элемента массива по значению.
if (*a == 3) {
int *number = new int;
*number = 0;
if (*number < massive1) {
*number = massive1;
}
if (*number < massive2) {
*number = massive2;
}
if (*number < massive3) {
*number = massive3;
}
cout << number;
delete number;
}
//Вывод минимального элемента массива по значению.
if (*a == 3) {
int* number = new int;
*number = 999999999;
if (*number > massive1) {
*number = massive1;
}
if (*number > massive2) {
*number = massive2;
}
if (*number > massive3) {
*number = massive3;
}
cout << number;
delete number;
}
delete a;
}
C/C++
C++ слишком много значений инициализатора.
Это чё?
int choose(massive[0], massive[1], massive[2]);
Вызов функции выглядит так: F(); и усе без всяких типов в начале.
int choose(massive[0], massive[1], massive[2]);
Вызов функции выглядит так: F(); и усе без всяких типов в начале.
Влас Красновский
Cпасибо, буду знать.
Влас Красновский
Чел. ты гений.
Влас Красновский
Это помогло, ахринеть.
Влас Красновский
Я просто новичок)
#include
using namespace std;
size_t input_array_length(const char* msg = "Введите размер массива: ");
void fill_array(int* box, const size_t length);
int* create_array(const size_t length);
int* destroy_array(int* box);
int sum(int* box, size_t length);
int sub(int* box, size_t length);
int max(int* box, size_t length);
int min(int* box, size_t length);
void result(const char* msg, const int value);
void operations(int* box, const size_t length);
int main() {
system("chcp 1251 > nul");
const auto length = input_array_length();
auto box = create_array(length);
if (box != nullptr) {
operations(box, length);
} else {
puts("Не удалось выделить память под массив данных!");
}
box = destroy_array(box);
puts("Программа завершена!");
system("pause > nul");
}
size_t input_array_length(const char* msg) {
size_t length = 0;
while (!length) {
cout > length;
cin.ignore(0x1000, '\n');
}
return length;
}
void fill_array(int* box, const size_t length) {
cout > box[i];
}
}
int* create_array(const size_t length) {
auto box = new(nothrow) int[length];
if (box != nullptr) {
fill_array(box, length);
}
return box;
}
int* destroy_array(int* box) {
if (box != nullptr) {
delete[] box;
box = nullptr;
}
return box;
}
int sum(int* box, size_t length) {
auto result = 0;
for (size_t i = 0; i < length; ++i) {
result += box[i];
}
return result;
}
int sub(int* box, size_t length) {
auto result = 0;
for (size_t i = 0; i < length; ++i) {
result -= box[i];
}
return result;
}
int max(int* box, size_t length) {
auto result = box[0];
for (size_t i = 1; i < length; ++i) {
if (result < box[i]) {
result = box[i];
}
}
return result;
}
int min(int* box, size_t length) {
auto result = box[0];
for (size_t i = 1; i < length; ++i) {
if (box[i] < result) {
result = box[i];
}
}
return result;
}
void result(const char* msg, const int value) {
cout choice;
switch (Action(choice)) {
case Action::Addition:
result("Сумма: ", sum(box, length));
break;
case Action::Subtraction:
result("Разность: ", sub(box, length));
break;
case Action::Minimum:
result("Минимальный: ", min(box, length));
break;
case Action::Maximum:
result("Максимальный: ", max(box, length));
break;
case Action::Exit:
return;
default:
puts("Ошибка при выборе пункта меню!");
}
}
}
int choose(massive[0], massive[1], massive[2]);
вместо вызова функции вы объявили новую переменную choose типа int и пытаетесь ее проинициализировать сразу тремя значениями, о чем и пишет компилятор
вместо вызова функции вы объявили новую переменную choose типа int и пытаетесь ее проинициализировать сразу тремя значениями, о чем и пишет компилятор
Влас Красновский
Спасибо.
Похожие вопросы
- C++: в чем хоть какая-то польза от инициализаторов (которые через двоеточие в конструкторе класса)?
- Не правильное значение по адресу памяти c++
- Составить программу для вычисления значения выражения. C++
- Какие из этих книг вы посоветуете прочесть в первую очередь чтобы повысить свои знания в C/C++?
- Задача по C++
- День добрый \[-_-]/ вопрос по вузовскому программированию на си(C)
- Программирование C++ ПРОШУ ПОМОЧЬ!
- Почему создатель Linux Линус Торвальдс называет C++ ужасным языком, а ядро ОС Linux пишется только на Си?
- Задача на C++ (Остатки).
- Сделать перестановку чисел с помощью функции в C++, но у меня получается чепуха