使用用户输入初始化数组

时间:2015-04-02 16:16:08

标签: arrays c++11 visual-studio-2013 console-application

我正在使用Visual Studio 2013,c ++,控制台应用程序。我一直在努力解决一个问题。我想知道是否有一种方法可以使用用户的输入初始化数组,例如:

我有一个数组:int arr[] = { 3, 7, 5, 9, 1};。因此,我希望初始值是用户输入。

我有办法吗?所有的帮助和评论将不胜感激。

这是我的代码: cout<< "输入数组元素的数量:&#34 ;;     cin>>元件;

cout << "Enter the difference value: ";
cin >> difference;

cout << "Enter the sequence of elements:  ";

vector<int> arr(elements);


for (int i = 0; i < elements; i++)
{
    cin >> arr[i];

}
//the following needs to have an array
//in their respective functions.
sorter(arr[], elements);
elementsDifference(arr[], elements, difference);

这个程序必须遍历一个数组并找到具有给定差异的对。

3 个答案:

答案 0 :(得分:0)

怎么样

int arr[10] , i;
for ( i = 0 ; i < 10 ; i++ ) 
   std::cin >> a[i];

这个简单的代码片段将从用户那里获取10个输入并将它们存储在数组中。

如果要更改输入的数量,可以只更改for循环中的条件(同时确保数组有足够的大小来存储所有值)。

更新

你可以这样试试

int size;
cin >> size;
int a[size],i;
for ( i = 0 ; i < size ; i++ )
  cin >> a[i];
for ( i = 0 ; i < size ; i++ )
  cout << a[i] << endl; 

通常情况下,人们只会使数组的大小非常大(如a[100000]左右),然后接受大小,并使用类似于上面给出的代码填充数组。

但更好的方法是使用vector。您应该了解如何使用vector

答案 1 :(得分:0)

如果在C ++中需要可变长度数组,则应使用std::vector

std::cout << "Enter the number of elements: ";
int n;
std::cin >> n;
std::vector<int> ints;
ints.reserve(n);

for (int i = 0; i < n; ++i)
{
    std::cout << "Enter element #" << i + 1 << ": ";
    int element;
    std::cin >> element;
    ints.push_back(element);
}

答案 2 :(得分:-3)

#include

int main() {

char ch;
std::cout << "Enter the size of the array\n";
std::cin >> ch;
std::cout<<"Enter the numbers you want in the array\n";
switch (ch) {
case '1': { int arr[1]; 
    int i;
    for (i = 0; i < 1; i++)
        std::cin >> arr[i];
    for (i = 0;i < 1;++i)
        std::cout << " " << arr[i];break;
}
case '2': { int arr[2]; 
    int i;
    for (i = 0; i < 2; i++)
        std::cin >> arr[i];
    for (i = 0;i < 2;++i)
        std::cout << " " << arr[i];break;
}
case '3': { int arr[3]; 
    int i;
    for (i = 0; i < 3; i++)
        std::cin >> arr[i];
    for (i = 0;i < 3;++i)
        std::cout << " " << arr[i];break;
}
case '4': { int arr[4]; 
    int i;
    for (i = 0; i < 4; i++)
        std::cin >> arr[i];
    for (i = 0;i < 4;++i)
        std::cout << " " << arr[i];break;
}

        
}

}// 等等...