如何将我的整数保持在动态数组中?首先,我需要让用户输入数组中的数字,然后将所有数字存储在那里。
int n;
cout << "Enter the number of integers: ";
cin >> n;
int input;
int* array;
for(int i = 0; i < n; i++){
cout << "Enter your integer:" << endl;
cin >> input;
array = new int[input];
}
for(int i = 0; i < n; i++){
cout << array[i] << endl;
}
最后它只显示了一些垃圾值。怎么了?
答案 0 :(得分:1)
你似乎误解了(动态)数组中$('.posting-card').hover(function () {
// Grab the pricing tier denoted by data attribute.
var tier = $(this).data('tier');
// Add class, active, to the card, I'm hovering over, and remove class active from any other cards.
$(this).addClass('active').siblings().removeClass('active');
// Find feature cards that have a matching data attribute and add a class, active, to that as well.
$('.posting-price-feature[data-tier=' + tier + ']').addClass('active');
// Find all other feature cards that have a data attribute value of less than what I'm hovering over now,
// If it has a lesser price tier add class, active, to that feature card.
}, function () {
$(this).removeClass('active'),
$('.posting-price-feature').removeClass('active');
});
的含义;您正在使用
new
好像这会将新插槽附加到数组并将值设置为array = new int[input];
。
执行两个步骤:
首先,只要知道数组应保留多少项,就为它保留内存(例如像input
)。
然后,对于输入的每个值,将其分配到数组中的正确位置(例如array = new int[amountOfValues]
;确保array[i] = someValue
小于i
。)
答案 1 :(得分:0)
我至少看到了三种方法。第一个是以下
dir /b | findstr /E /R "\\BW RRI - [0-9]\.[0-9]\PAYMENT CONFIRMATION.pdf$"
第二个是以下
int n;
cout << "Enter the number of integers: ";
cin >> n;
int input;
int* array = new int[n];
for(int i = 0; i < n; i++){
cout << "Enter your integer:" << endl;
cin >> input;
array[i] = input;
}
for(int i = 0; i < n; i++){
cout << array[i] << endl;
}
// ...
delete [] array;
第三个是以下
#include <memory>
//...
int n;
cout << "Enter the number of integers: ";
cin >> n;
int input;
std::unique_ptr<int[]> array( new int[n] );
for(int i = 0; i < n; i++){
cout << "Enter your integer:" << endl;
cin >> input;
array[i] = input;
}
for(int i = 0; i < n; i++){
cout << array[i] << endl;
}
答案 2 :(得分:0)
您的问题只是您试图将您的数字值放入数组的大小,而不是将它们存储在其中。
同样在每次迭代中,您使用输入值array = new int[input];
因此它将根据您的输入值从每次迭代中保留内存大小,当您打印数组值时,结果将是内存中的垃圾值,因为您没有在数组中存储任何值。
你的程序应该像:
int n;
cout << "Enter the number of integers: ";
cin >> n;
int input;
int* array;
array = new int[n];
for(int i = 0; i < n; i++){
cout << "Enter your integer:" << endl;
cin >> input;
array[i] = input;
}