如何在2D数组的行中查找字母的最大值

问题描述 投票:-1回答:1

我有一个3行,10列数组。每列都指定给一个人,每列中的3个空格中的每一个都是是或否响应('y'或'n')。

我试图在列中找到最大数量的'n'值并将其设置为最大值以将其与其他列进行比较。

我如何使用if语句查找列中'n'个元素的数量,并在达到具有更多'n'个元素的列时覆盖变量?

我一直在尝试只测试2D数组的第一组索引,所以我只测试了10列,而不是测试每一个盒子。

如果某列具有3'n'值(该列中的所有框都是'n'),那么最大值应为3.但是,如果任何列中'n'个元素的最大数量仅为2,那么最大值值应为2。

c
1个回答
0
投票

将来请更具体地说明您的问题,这有助于我们展示一些代码,以便我们能够更好地了解您的问题。我有一个例子,但它是在ipad上写的,所以可能没有完全正常工作,但它会帮助你了解该怎么做。

我刚刚创建了一个int数组,其中1 = true,0 = false。它将首先遍历列,然后比较neg与pos的值,并存储max变量中较大者。同样,这是一个非常基本的可能有缺陷的代码,但会给你一个开端!

干杯!

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int pos = 0;
  int neg = 0;
  int max = 0;
  int array[3][10];
  for(int i = 0; i < 3; i++){
    for (int j = 0; j < 10; j++){
      if (array[i][j] == 1){
        pos++;
      }else if ( array[i][j] == 0){
        neg++;
      }
    }
    if (pos > neg){
      max = pos;
    }else{max = neg;}
  }
  return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.