我不知道该怎么做。请帮我编写代码或告诉我要查找的教科书或其他内容;我需要代码来完成这个程序,我很想解释我在看什么..
#include<iostream>
using namespace std;
int main()
{
short num[100], size, //declare an array of type short that has 100 elements
unique[100], number, // declare a second array to help solve the problem; number counts the number of unique values
k; // loop control variable; may need other variables
cout<<"enter the number of values to store in the array\n";
cin>>size;
cout<<”enter the “<<size<<” values to be used as data for this program\n”;
for(k=0; k<size; k++)
cin>>num[k];
// print the contents of the array
cout<<"\nthere are "<<size<<" values in the array\n";
for(k=0; k<size; k++)
cout<<num[k]<<’ ‘; // there is one space between each number in the display
cout<<endl; // cursor moved to next output line
cout<<"the program will count the number of different (distinct) values found in the array\n";
//************************************************************
//Put the code here that counts the number of unique values stored in the
//array num. The variable number will contain the count.
//************************************************************
cout<<endl<<number<<" unique values were found in the "<<size<<" element array\n";
// pause the program to see the results
system("pause");
//return 0;
}
我必须做这两件事之一,我不知道它们是什么意思?
算法 - 唯一数组用于帮助找到解决方案,用于避免对任何值进行多次计数
将数字设置为 0 - 这表示数据集中不同值的数量;也用作唯一数组中的下标
从 0 循环到大小加一,遍历数据 (num) 数组的连续元素 将
当前数组元素的值存储在非数组变量 (SV)
中 将 event_flag 设置为 0
从 0 循环到编号加一,遍历唯一数组的连续元素
如果 SV 等于唯一数组的当前元素
将 event_flag 设置为 1
中断(停止)内部循环 内部循环
结束
如果 event_flag 等于 0(在唯一数组中未找到且先前未计数的值) 将
SV 存储在唯一数组的元素编号中
递增编号的值
外循环结束
解决方案- 变量编号包含数据数组中不同值的计数
Alternate Algorithm
不使用 event_flag 的算法(可以使用循环控制变量来确定事件是否发生)
算法 - 唯一数组用于帮助找到解决方案,用于避免对任何值进行多次计数
将数字设置为 0 - 这表示数据集中不同值的数量;也用作唯一数组中的下标
从 0 到 size 加一循环,遍历数据 (num) 数组的连续元素 将
当前数组元素的值存储在非数组变量 (SV)
中 从 0 到 number 加一循环,继续遍历唯一数组的连续元素
如果 SV 等于唯一数组的当前元素
中断(停止)内循环 内循环
结束
如果内循环的循环控制变量等于数字值(SV 在唯一数组中未找到且先前未找到计算)
将 SV 存储在唯一数组的元素编号中
增加 number 的值
外循环结束
解决方案- 变量 number 包含数据数组中不同值的计数
我把这个放在我的:
//************************************************************
//Put the code here that counts the number of unique values stored in the array num. The variable number will contain the count.
for(k=0; k<size; k++)
num=SV;
event_flag=0;
for(k=1; k<number; k++)
if(SV=unique)
return true;
return false;
//************************************************************
显然,它不起作用。