1. 程式人生 > >對於一個m行m列的方陣,求其每一行,每一列及主對稱線元素之和,最後按照從大到小的順序依次輸出。

對於一個m行m列的方陣,求其每一行,每一列及主對稱線元素之和,最後按照從大到小的順序依次輸出。

#include<iostream>
using namespace std;
#define MAX 10
int main()
{
	int m,n=0,i,j,a[10][10],sum,num[10],temp,max;
	cout<<"enter m"<<endl;           //m行 m列
	cin>>m;
	cout<<"enter number"<<endl;
	for(i=0;i<m;i++)
	{
		for(j=0;j<m;j++)
		{
			cin>>a[i][j];
		}
	}
	for(i=0;i<m;i++)                   //記錄行的和
	{
		sum=0;
		for(j=0;j<m;j++)
		{
			sum=sum+a[i][j];		
		}
		num[n]=sum;
		n++;
	}
	for(j=0;j<m;j++)                   //記錄列的和
	{
		sum=0;
		for(i=0;i<m;i++)
		{
			sum=sum+a[i][j];		
		}
		num[n]=sum;
		n++;
	}
	sum=0;                               //記錄主對角線
	for(i=0,j=0;i<m;i++,j++)
	{
		sum=sum+a[i][j];
	}
	num[n++]=sum;

    sum=0;                         
	for(i=0,j=m-1;i<m;i++,j--)
	{
		sum=sum+a[i][j];
	} 
	num[n++]=sum;

	for(i=0;i<n;i++)                      //排序
	{
		max=num[i];
		{
			for(j=i;j<n;j++)
			{
				if(num[j]>max)
				{
					temp=max;
					max=num[j];
					num[j]=temp;			
				}
			}
		}
		cout<<max<<" ";
	}
	return 0;
}

相關推薦

對於一個mm方陣一行對稱元素之和最後按照大到小的順序依次輸出

#include<iostream> using namespace std; #define MAX 10 int main() { int m,n=0,i,j,a[10][10],sum,num[10],temp,max; cout<<"en

編寫一個函數在頁面上輸出一個NM的表格表格內容填充1~100的隨機數字

order 編寫 表格 func 隨機 函數 var 隨機數 for 編寫一個函數,在頁面上輸出一個N行M列的表格,表格內容填充1~100的隨機數字 function tab(n,m){ document.write("<table border=1>"); f

對於一個m*n的整數矩陣其中一行元素都按升序排列設計一個高效的演算法判斷一個數值是否存在並給出位置

package com.huanchuang.arvin.vo; public class Finder {     private String findElement(int[][] matrix, int target) {         int row = 0,

C | 輸出一個nm矩形方陣 發現的幾個問題

原題: 請對p_star50(void)進行20次呼叫,p_star50(void)實現在一行輸出50個“*”號。 即輸出一個20*50的矩形陣嘛,思路是先搞定p_star50(void), 再到main()裡把p_star50(void)呼叫20次。

輸入兩個正整數m和n最大公約數和最小公倍數

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int a = scanner.nextInt

C語言例項—輸入兩個正整數m和n最大公約數和最小公倍數(gcc 編譯)

1.輾轉相除法 輾轉相除法是古希臘求兩個正整數的最大公約數的,也叫歐幾里德演算法,其方法是用較大的數除以較小的數,上面較小的除數和得出的餘數構成新的一對數,繼續做上面的除法,直到出現能夠整除的兩個數,其中較小的數(即除數)就是最大公約數。以求288和123的最大公約數為例,操作如下: 288÷1

【程式6】  題目:輸入兩個正整數m和n最大公約數和最小公倍數

在迴圈中,只要除數不等於0,用較大數除以較小的數,將小的一個數作為下一輪迴圈的大數,取得的餘數作為下一輪迴圈的較小的數,如此迴圈直到較小的數的值為0,返回較大的數,此數即為最大公約數,最小公倍數為兩數之積除以最大公約數。 import java.util.Scanner;

輸入兩個正整數m和n最大公約數和最小公倍數 C/C++

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。 1.程式分析:利用輾除法。 2.程式原始碼: #include <stdio.h> int main() { int a,b,num1,num2,temp; printf("請輸入2個正整數:\

【程式6】 題目:輸入兩個正整數m和n最大公約數和最小公倍數

/* 2017年3月2日15:10:11 java基礎50道經典練習題 例6 Author:ZJY(&&) Purpose:最大公約數和最小公倍數的應用 最大公約數:把每個數分別分解質因數,再把各數中的全部公有質 因數提取出來連乘,所得的積就

c語言:輸入兩個正整數m和n最大公約數和最小公倍數

輸入兩個正整數m和n,求其最大公約數和最小公倍數。解:程式:#include <stdio.h>int main(){int num1, num2, t,p;printf("請輸入兩個正整數

(c++)輸入兩個正整數m和n最大公約數和最小公倍數

#include<iostream> using namespace std; int main() {int m,n,i,j,a;cin>>m>>n;j=m*n;

【程式16】 題目:輸入兩個正整數m和n最大公約數和最小公倍數

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> /* 【程式16】 題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。 【分析】 最大公約數:輾除法 最小公倍數:兩數之積除以最大公約數 */ int main(int argc,

C語言例項12——輸入兩個正整數m和n最大公約數和最小公倍數

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。 //程式分析:利用輾除法。 #include<stdio.h> int main(){ int a,b,num1,num2,te

輸入兩個正整數m和n最大公約數和最小公倍數(java)

package com.gaoshixian; import java.util.Scanner; public class Test { public static void main(String[] args) { int a, b, num1, num2,

【JAVA習題六】輸入兩個正整數m和n最大公約數

import java.util.Scanner; public class Oujilide歐幾里得 { public static void main(String[] args) { // TODO Auto-generated method stub Scan

LightOJ 1248 - Dice (III) 給一個質地均勻的n的骰子 投擲出所有點數至少次的期望次數(概率)

pri std printf 有一個 return main tdi algorithm style 題意:http://www.lightoj.com/volume_showproblem.php?problem=1248   投擲出第一個未出現的點數的概率為n/n =

PCB SQL MS 將多有序數據轉為一行數據(一行)

alt clas oba weight lob join DC .com eight 一.原數據:多行有序 SELECT CC.techname FROM PPEflow BB LEFT JOIN pubgyxxb CC ON BB.techno = CC.tech

給定一個正整數位數以及正序逆序輸出

給定一個正整數,求其位數以及正序逆序輸出 #include<stdio.h> int Count(int n)//求正整數的位數 { int tmp=0; do { n=n/10; tmp++; }while(n!=0); return tmp; } void PrintReve

編寫一個ArrayList類用來儲存1到10之間的數打亂順序輸出按從小到大輸出大到小輸出

/** * Created by whp on 2018/7/30. */ public class Test { public static void main(String[] args) { List list = new ArrayList();

VS程式設計WPF中telerik:RadGridView 更改某背景顏色的種方法

有時為了美觀,需要將GridView控制元件中某一列資料的顏色。 這裡提供了一種方法。 1、前臺獨立定義並繫結集合的欄位   2、在要更改顏色的列新增如下格式的程式碼:  <telerik:Gr