C++ 如何处理用户输入的偶数数组,并在C+中用空格显示它们+;
我需要帮助获取此用户输入的整数,检索偶数并用空格显示它们。我已经将输入处理到数组中,并将其反转(由于stackoverflow),现在需要从数组中提取偶数并显示它们C++ 如何处理用户输入的偶数数组,并在C+中用空格显示它们+;,c++,arrays,sorting,visual-c++,arraylist,C++,Arrays,Sorting,Visual C++,Arraylist,我需要帮助获取此用户输入的整数,检索偶数并用空格显示它们。我已经将输入处理到数组中,并将其反转(由于stackoverflow),现在需要从数组中提取偶数并显示它们 #include <iostream> #include <iomanip> #include <vector> using namespace std; int evenNumbers(char even[], int num[], int indexing[]); int main() {
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
int evenNumbers(char even[], int num[], int indexing[]);
int main()
{
char integers[5];
int numbers[5];
int even[5] = {0,2,4,6,8};
int evens;
cout << "Please enter an integer and press <ENTER>: " << endl;
for (int j = 0; j < 5; j++)
cin >> integers[j];
for (int j = 0; j < 5; j++)
{
numbers[j]= integers[j] - '0';
}
cout << endl;
for (int j = 5; j > 0; j--)
{
cout << integers[j - 1] << " ";
}
cout << endl;
//having problems finding the even numbers and displaying the even numbers
//from the users input of integers, i have only learned how to display the
//subscript by a linear search
evens = evenNumbers(integers, numbers, even);
if (evens == -1)
cout << "There are no even numbers" << endl;
else
{
cout << "The even numbers are: " << (evens + 1) << endl;
}
system("pause");
return 0;
}
int evenNumbers(char even[], int num[], int indexing[])
{
int index = 0;
int position = -1;
bool found = false;
for (int j = 0; j < 5; j++)
{
num[j]= even[j] - '0';
}
while (index < 5)
{
if (num[index] == indexing[index])
{
found = true;
position = index;
}
index++;
}
return position;
}
#包括
#包括
#包括
使用名称空间std;
整数个偶数(字符偶数[],整数个[],整数索引[]);
int main()
{
字符整数[5];
整数[5];
int偶数[5]={0,2,4,6,8};
整夜;
cout整数[j];
对于(int j=0;j<5;j++)
{
数字[j]=整数[j]-“0”;
}
cout 0;j--)
{
cout你的方法完全错了,你不能通过搜索列表来检测偶数,你需要一个数学测试均匀性。编写一个名为is\u偶数的函数,它测试一个数字,如果它是偶数,则返回true;如果不是偶数,则返回false。然后你可以使用该函数,非常简单,就像这样
for (int j = 0; j < 5; j++)
{
if (is_even(integers[j]))
cout << integers[j] << " ";
}
cout << endl;
for(int j=0;j<5;j++)
{
if(是偶数(整数[j]))
cout如果要显示数组整数中的偶数,可以使用一个简单的for
循环和If
语句:
for(int i = 4; i >= 0; i--)
{
if(integers[i] % 2 == 0)
cout << integers[i] << " ";
}
用于(int i=4;i>=0;i--)
{
if(整数[i]%2==0)
coutvoid evenNumber(int num[])
{
对于(int i=0;i#包括
#包括
#包括
使用名称空间std;
无效有效期(字符有效期[]);
void reverseNum(char rev[],int num2[]);
无效偶数(字符偶数[],整数num3[]);
空奇数(字符奇数[],整数4[]);
int main()
{
字符整数[5];
整数[5];
cout>
前缀标记保留用于引用。您的方法完全错误,除其他外,它不能解释非常好的偶数,如10、12、14等。您不应该使用您不理解的代码。这是用于显示反向偶数,如果您想按顺序显示它们,只需将for循环更改为(int i=0;i)
void evennumbers(int num[])
{
for(int i=0;i<5;i++)
{
if(num[i]%2==0)
cout<<num[i]<<" ";
}
}
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
void validNum(char valid[]);
void reverseNum(char rev[], int num2[]);
void evenNumbers(char even[], int num3[]);
void oddNumbers(char odd[], int num4[]);
int main()
{
char integer[5];
int number[5];
cout << "Your number is: ";
validNum(integer);
cout << "Your number in reverse is: ";
reverseNum(integer, number);
cout << "Even numbers: ";
evenNumbers(integer, number);
cout << endl;
cout << "Odd numbers: ";
oddNumbers(integer, number);
cout << endl;
system("pause");
return 0;
}
void validNum(char valid[])
{
char ch;
cout << "Please enter an integer and press <ENTER>: " << endl;
ch = cin.get;
while (ch < 0 || ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z')
{
cout << "ERROR: Please enter a positive integer and press <ENTER>: ";
for (int i = 0; i < 5; i++)
cin >> valid[i];
}
for (int j = 0; j < 5; j++)
{
cout << valid[j] - '0';
}
}
void reverseNum(char rev[], int num2[])
{
for (int j = 0; j < 5; j++)
{
num2[j]= rev[j] - '0';
}
cout << endl;
for (int j = 5; j > 0; j--)
{
cout << rev[j - 1]<< " ";
}
cout << endl;
}
void evenNumbers(char even[], int num3[])
{
for (int i = 0; i < 5; i++)
{
if (even[i] % 2 == 0)
{
cout << num3[i] << " ";
}
}
}
void oddNumbers(char odd[], int num4[])
{
for (int i = 0; i < 5; i++)
{
if (odd[i] % 2 == 1)
{
cout << num4[i] << " ";
}
}
}