我是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();
}
我有一堆的錯誤。我知道這是糟糕的代碼,但正如我所說,我剛剛開始。 謝謝
P.對不起,我的英語
編輯:使用此代碼。
#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
在操作變量之前,您需要研究變量的範圍。 –