程序将输入 N 个数字并计算数组中出现 1 次的值的数量 此程序中使用了函数
#include<iostream>
using namespace std;
// Prototypes are placed before main
void input_data(short num[], short size);
void display_data(short num[], short size);
short frequencyOf1(short num[], short size);
int main()
{
short num[100], size, // Declare an array of type short that has 100 elements
number; // Number counts the number of values that had a frequency of 1
cout<<"Enter the number of values to store in the array\n";
cin>>size;
while (size > 0)// Loop to try different data sets w/o re-executing the program
{
input_data(num, size); // Call statement to function to store data in array
display_data(num, size); // Call statement to function to print contents of array
cout<<"The program will count the number of values in the array that occurred 1 time\n";
number = frequencyOf1(num, size); // Call statement to function to count the number of value
// That occurred 1 time; this is a value returning function
cout<<endl<<number<<" Values were found that occurred 1 time in the "<<size<<" element array\n";
cout<<"\nEnter the number of values to store in the array or 0 to terminate the program\n";
cin>>size;
} // End of while loop
// Pause the program to see the results
system("pause");
return 0;
}
// Function definitions are placed after main
void input_data(short num[], short size)
{
short i;
cout<<"Enter the "<<size<<" values to be used as data for this program\n";
for(i=0; i<size; i++)
cin>>num[i];
}
void display_data(short num[], short size)
{
short i;
cout<<"\nThere are "<<size<<" values in the array\n";
for(i=0; i<size; i++)
cout<<num[i]<<' '; // There is one space between each number in the display
cout<<endl; // Cursor moved to next output line
}
short frequencyOf1(short num[], short size)
{
// Enter code to solve the problem
// Must return a count using a 'return' statement
//?
number=0;
for(i=0; i<size; i++)
{
short sv=num[i];
short event_flag=0;
for(int j=0; j<number; j++)
{
if(sv==frequencyOf1[j])
{
event_flag=1;
break;
}
}
if(event_flag==0)
{
frequencyOf1[number]=sv;
number++;
}
}
}
这是另一个我不明白它在问同样的事情我是否像这样使用 for 循环?或其他东西它不起作用
好的,我试过了,现在不行了
程序将输入 N 个数字并计算数组中出现 1 次的值的数量此程序中使用的函数 */
#include using namespace std;
// Prototypes are placed before main
void input_data(short num[], short size);
void display_data(short num[], short size);
short frequencyOf1(short num[], short size);
int main()
{
short num[100], size, // Declare an array of type short that has 100 elements
number; // Number counts the number of values that had a frequency of 1
cout<<"Enter the number of values to store in the array\n";
cin>>size;
while (size > 0)// Loop to try different data sets w/o re-executing the program
{
input_data(num, size); // Call statement to function to store data in array
display_data(num, size); // Call statement to function to print contents of array
cout<<"The program will count the number of values in the array that occurred 1 time\n";
number = frequencyOf1(num, size); // Call statement to function to count the number of value
// That occurred 1 time; this is a value returning function
cout<<endl<<number<<" Values were found that occurred 1 time in the "<<size<<" element array\n";
cout<<"\nEnter the number of values to store in the array or 0 to terminate the program\n";
cin>>size;
} // End of while loop
// Pause the program to see the results
system("pause");
return 0;
}
// Function definitions are placed after main
void input_data(short num[], short size)
{
short i;
cout<<"Enter the "<<size<<" values to be used as data for this program\n";
for(i=0; i<size; i++)
cin>>num[i];
}
void display_data(short num[], short size)
{
short i;
cout<<"\nThere are "<<size<<" values in the array\n";
for(i=0; i<size; i++)
cout<<num[i]<<' '; // There is one space between each number in the display
cout<<endl; // Cursor moved to next output line
}
short frequencyOf1(short num[], short size)
{
bool can_insert;
for (int i = 0; i < 5; ++i)
{
can_insert = true;
for (int j = 0; j < size; ++j)
{
if (num[j] == number[i])
{
can_insert = false;
break;
}
}
if (can_insert)
{
num[size] = number[i];
size++;
}
}
cout << size;
return 0;
}