Я новичок в C++ и стараюсь сделать две простые функции, но что-то не так.Простая программа с 2 функциями не работает
Я пытаюсь сделать следующее:
1.Function for input some data.
2.Function to show what data is input.
Я просто хочу, чтобы сделать его простым. Код, который я написал до сих пор:
#include <iostream>
void masiv()
{
int x[10];
int n, i;
int min;
int max=0, imax=0, imin;
cout << "Enter the number of elements: ";
cin >> n;
for(i=0; i < n; i++)
{
cout << "Input value for x["<<i<<"]=";
cin >> x[i];
if (min > x[i])
{
min = x [i];
imin = i;
}
if (max < x[i])
{
max = x[i];
imax = i;
}
}
void rezult()
{
cout << "the smallest value on is xthe biggest value on is x["<<imin<<"]=" << min <<endl;
cout << "nai golqmata stoinost e na x["<<imax<<"]=" << max <<endl;
}
void main()
{
masiv();
rezult();
}
У меня есть куча ошибок. Я знаю, что это плохой код, но, как я уже говорил, я только начинаю. Thanks
P.s. Извините за мой английский
Редактировать: Работа с этим кодом.
#include <iostream>
using namespace std;
void masiv(int& min, int&max)
{
int x[10];
int n;
int i;
int imin, imax;
cout << "Enter the number of elements: ";
cin >> n;
for(i=0; i < n; i++)
{
cout << "Input value for x["<<i<<"]=";
cin >> x[i];
if(min > x[i])
{
min = x [i];
imin = i;
}
if(max < x[i])
{
max = x[i];
imax = i;
}
}
}
void rezult(int min, int max)
{
cout << "the smallest value on is x= " << min << endl;
cout << "the biggest value on is x= " << max << endl;
system ("pause");
}
int main(int argc, char** argv)
{
int min = 999999;
int max = -999999;
masiv(min,max);
rezult(min,max);
return 0;
}
1. Вы не инициализировали 'min'. 2. 'rezult' не будет знать о переменных, которые вы создаете внутри другой функции, если вы не передадите их. 3. Не используйте' void main'. Используйте 'int main'. 4. Что, если они введут число больше 10 для количества элементов? Там хорошо вписывается вектор. – chris
Перед тем, как манипулировать переменными, вам нужно изучить объем переменных. –