了解及掌握二维数组

发布时间:2024年01月13日
?第一题:
? ? ? ? 题目(单对角线和):

? ? ? ? 分析: 用结构体的话,太麻烦了,专业一点,用本该属于它的知识点来解决它。
代码:
#include <iostream>  
  
using namespace std;  
  
int main() {  
    int n;  
    cin >> n;  
    int matrix[n][n];  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            cin >> matrix[i][j];  
        }  
    }  
    int sum = 0;  
    for (int i = 0; i < n; i++) {  
        sum += matrix[i][i];  
    }  
    cout << sum << endl;  
    return 0;  
}
第二题:?
? ? ?题目:计算矩阵边缘元素之和? ?
? ? ?题目来源:http://124.222.71.12/problem.php?id=1089

?

?代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int m,n,a[101][101];
	int sum=0;
	cin>>m>>n;
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			cin>>a[i][j];
			if(i==0||i==m-1||j==0||j==n-1)  //非常重要
			{sum = sum +a[i][j];
			}
		}
	}
	cout<<sum;		
	return 0;
 } 
重要知识点:?
if(i==0||i==m-1||j==0||j==n-1)    //矩阵边缘
? ?
第三题(双对角线和):
? ? 代码:
#include <iostream>  
  
using namespace std;  
  
int main() {  
    int n;  
    cin >> n;  
    int matrix[n][n];  
    if(n%2==0){
	for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            cin >> matrix[i][j];  
        }  
    }  
    int sum = 0;  
    for (int i = 0; i < n; i++) {  
        sum += matrix[i][i];  
    }
	 
	for(int i=0;i<n;i++)
	{
		 sum=sum+matrix[i][n-i];
	 } 
    cout << sum << endl; }
    if(n%2==1){for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            cin >> matrix[i][j];  
        }  
    }  
    int sum = 0;  
    for (int i = 0; i < n; i++) {  
        sum += matrix[i][i];  
    }
	 
	for(int i=0;i<n;i++)
	{
		 sum=sum+matrix[i][n-i];
	 } 
	sum = sum-matrix[n/2+1][n/2+1];
    cout << sum << endl; }
	 
    return 0;  
}
重要知识点:

? ? ? ?如果n是奇数,会多加一个二维数组的[n/2+1][n/2+1],所以用if语句判断奇偶。

结语:二维数组大概了解的差不多了,刷题去吧!!!

程序员的必备技能:

? ? ? ? 有时候自己觉得代码一点问题都没有,连问身边的人也没看出毛病,就说问题出在电脑,出在编辑器,这时候,你要意识到,其实你和电脑,编辑器都没有错,只不过你在输入代码是弄错了一点,需要你仔细仔细仔细仔仔细细的检查一遍,去找出小错误并改正,这是出现程序员的必经之路。? (今天我找一个小错误找了将近一小时,突然想写点东西让自己永远记住。)

文章来源:https://blog.csdn.net/2301_80284843/article/details/135561342
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。