索引(i,j)的最大差,使得C ++中给定矩阵中的A [i] [j] = 0
我们给定一个大小为nxn的矩阵,条件为a [i] [j] = 0,任务是计算a [i] [j] = 0的索引的最大差。因此,我们可以清楚地说明矩阵中必须至少有一个零。
输入项
int matrix[][] = {{0, 1, 1},
{0, 0, 0},
{4, 5, 1}}
输出-给定矩阵中A [i] [j] = 0的索引(i,j)的最大差为-
说明-我们在矩阵[0] [0],矩阵[1] [0],矩阵[1] [1]和矩阵[1] [2]处有元素0。因此,索引的最大差将在元素为0的矩阵[1] [0]处。因此,最大差为1。
输入项
int matrix[][] = {{0, 1, 1},
{0, 2, 9},
{4, 0, 1}}
输出-索引(i,j)的最大差异,使得给定矩阵中的A [i] [j] = 0为-
解释-我们在矩阵[0] [0],矩阵[1] [0]和矩阵[2] [1]处有元素0。因此,索引的最大差将在元素为0的矩阵[1] [0]和矩阵[2] [1]处。因此,最大差为1。
以下程序中使用的方法如下
输入矩阵,使其在任何索引处至少包含1。
定义行和列的最大大小,即nx n的大小。
取一个临时变量,该变量将存储最大差值。
从0到row_size的启动循环
在循环内,从0到col_size开始另一个循环
检查IF矩阵[i] [j] = 0
然后将最大值设置为作为指标之间的差异的最大值。
返回最大值
打印结果。
示例
#include <bits/stdc++.h>using namespace std;
#define row 3
#define col 3
//找到最大的差异
int maximum(int matrix[row][col]){
int max_val = 0;
for (int i = 0; i < row; i++){
for (int j = 0; j < col; j++){
if (matrix[i][j] == 0){
max_val = max(max_val, abs(i - j));
}
}
}
return max_val;
}
int main(){
int matrix[row][col] = {
{ 1, 2, 0},
{ 0, 4, 0},
{ 0, 1, 0}};
cout<<"Maximum difference of indices with A[i][j] = 0 is: "<<maximum(matrix);
return 0;
}
输出结果
如果运行上面的代码,我们将获得以下输出-
Maximum difference of indices with A[i][j] = 0 is: 2
以上是 索引(i,j)的最大差,使得C ++中给定矩阵中的A [i] [j] = 0 的全部内容, 来源链接: utcz.com/z/321630.html