确定文本文件中的值是否唯一

时间:2017-08-30 03:28:27

标签: c++ file validation input

我在一个我们正在学习C ++的课程中,我们的第一个项目是从文本文件中读取数据,对这些数据执行各种检查,然后将其输出到另一个文件中改变形式。

原始数据的列以空格分隔。我们要检查第一列(ID)以确保每一行都有唯一的ID。我们也应该检查第10列以确保它具有四个值之一。我在检查第10列时没有问题,但是我在检查每行的ID是否唯一时遇到问题。

在Java中,我会将每个ID添加到向量或数组,然后检查向量是否包含每个后续元素,如果有,则抛出错误。但是,我们只允许在项目中包含三个标题。

#include <iostream>
#include <iomanip>
#include <string>

因此,我无法使用向量或数组检查唯一ID。我将非常感谢您对我在这里所做的任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以在c ++中创建一个字符串数组,并在该数组中存储ID。然后使用此循环检查重复元素。

for(int i=0; i<s.length(); i++)
    {
        for(int j=i+1;j<s.length();j++)
        {
            if(s[i]==[j])
            {
                cout<< s[i] << " is duplicate";
            }
        }
    }

希望有所帮助。

答案 1 :(得分:0)

像这样的事情。因为你正在学习,这对于课堂练习来说是好的。我不建议将其用于生产。

library(dplyr)
df1 %>% 
   slice(which.max(A))
# A tibble: 1 x 2
#      A     B
#   <int> <int>
#1     7     3

理想情况下,我会使用set或unordered_set。 vector是n ^ 2;

由于您正在学习,我建议您尝试重载运算符。