如何手动检查3x3阵列中的重复项?

How to Manually Check for Duplicates in a 3x3 Array?(如何手动检查3x3阵列中的重复项?)
本文介绍了如何手动检查3x3阵列中的重复项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理一项任务,其中我编写了一个布尔函数来检查数组中的重复项。

我想看看是否有1到9之间的数字出现多次,如果没有出现,则返回true或语句。但是,我不得不遍历数组并完成检查。如何将make_array()函数中的数组合并到这个..bool语句应该检查该函数,但无论我如何编写,它都不会。

#include <iostream>
#include <ctime>
using namespace std;


int numbers[3][3] = {};

void make_array() 
{
  for (int row = 0; row < 3; row++)
  {
    for (int column = 0; column < 3; column++) 
    {
       numbers[row][column] = rand() % 9 + 1;
       cout << numbers[row][column] << " ";
    }
    cout << endl;
  }
}

bool appears_once()
{
    bool unique = true;

    for ( int copy_row = 0; copy_row < 3; copy_row++ )
    {
        for ( int copy_column = copy_row + 1; copy_column < 3; copy_column++ )
        {
            if (numbers[copy_row][copy_row] == numbers[ copy_column][ copy_column] ) 
            unique = true;
            cout << unique;
        }
    }

    return !unique;
    
}
int main() 
{
  int row, column = 0;
  srand(time(0));
  make_array();
  appears_once();
}

推荐答案

此内部FOR循环

for (int ccolumn = check_row + 1; ccolumn < 3; ccolumn++) 
{
  if (check_row != ccolumn) 
  {
    return true;
  }
  else
  {
   return false;
  }

}

没有任何意义。至少没有数组元素的比较。

例如,可以通过以下方式定义函数

bool appears_once()
{
    bool unique = true;

    for ( size_t i = 0; unique && i < 9; i++ )
    {
        for ( size_t j = i + 1; unique && j < 9; j++ )
        {
            if ( numbers[i / 3][i % 3] == numbers[ j / 3 ][ j % 3] ) unique = false;
        }
    }

    return unique;
}

这篇关于如何手动检查3x3阵列中的重复项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Qt Calling External Python Script(Qt调用外部Python脚本)
QTableView/QTableWidget grid stylesheet - grid line width(QTableView/QTableWidget网格样式表-网格线宽)
QML opens GUI window and console(QML打开图形用户界面窗口和控制台)
How to nicely quot;castquot; qint64 to int for QProgressBar(如何为QProgressBar巧妙地将qint64转换为int)
Is it possible to use an underlined letter as keyboard shortcut in Qt?(Qt中可以使用带下划线的字母作为键盘快捷键吗?)
How to disable selection highlighting in a QTableWidget(如何在QTableWidget中禁用选定内容突出显示)