请写出一个程序,对于一个m行,m列的(1<m<10)的方阵,求其每一行,每一列及 主对角线元素之和,最后按照从大到小的顺序依次输出
2013-03-15 09:22
3711 查看
/*2.请写出一个程序,对于一个m行,m列的(1<m<10)的方阵,求其每一行,每一列及
主对角线元素之和,最后按照从大到小的顺序依次输出。
eg 15 8 -2 6
31 24 18 71
-3 -9 27 13
17 21 38 69
输出 159 145 144 135 81 60 44 32 28 27
*/
#include<iostream>
#include<stdio.h>
using namespace std;
void sort(int b[],int n)
{
int temp=0;
for(int i=n-1;i>=0;i--)
{
for(int j=0;j<i;j++)
{
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
}
void main()
{
int a[4][4]={{15,8,-2,6},{31,24,18,71},{-3,-9,27,13},{17,21,38,69}};
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
int b[100];
int s=0,t=0,p=0;
for(i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
s+=a[i][j];
}
b[i]=s;
s=0;
}
for(int k=0;k<4;k++)
{
for(int w=0;w<4;w++)
{
p+=a[w][k];
}
b[i+k]=p;
p=0;
}
for(int m=0;m<4;m++)
{
t+=a[m][m];
}
b[i+k]=t;
t=0;
for(int q=0;q<4;q++)
{
t+=a[4-q-1][q];
}
b[i+k+1]=t;
sort(b,i+k+1);
for(int y=0;y<i+k+2;y++)
cout<<b[y]<<endl;
}
主对角线元素之和,最后按照从大到小的顺序依次输出。
eg 15 8 -2 6
31 24 18 71
-3 -9 27 13
17 21 38 69
输出 159 145 144 135 81 60 44 32 28 27
*/
#include<iostream>
#include<stdio.h>
using namespace std;
void sort(int b[],int n)
{
int temp=0;
for(int i=n-1;i>=0;i--)
{
for(int j=0;j<i;j++)
{
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
}
void main()
{
int a[4][4]={{15,8,-2,6},{31,24,18,71},{-3,-9,27,13},{17,21,38,69}};
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
int b[100];
int s=0,t=0,p=0;
for(i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
s+=a[i][j];
}
b[i]=s;
s=0;
}
for(int k=0;k<4;k++)
{
for(int w=0;w<4;w++)
{
p+=a[w][k];
}
b[i+k]=p;
p=0;
}
for(int m=0;m<4;m++)
{
t+=a[m][m];
}
b[i+k]=t;
t=0;
for(int q=0;q<4;q++)
{
t+=a[4-q-1][q];
}
b[i+k+1]=t;
sort(b,i+k+1);
for(int y=0;y<i+k+2;y++)
cout<<b[y]<<endl;
}
相关文章推荐
- 对于一个m行m列的方阵,求其每一行,每一列及主对称线元素之和,最后按照从大到小的顺序依次输出。
- 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(2,4,6,8,10,…),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- 【1】 设一个长度为10的整型数组,  0)要求每个元素的值通过scanf输入,输入完成后,  1)请顺序输出这些整数,  2)请倒序输出这些整数,  3)输出这些数中的最大值,最小值
- 二维数组中的查找-在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- java 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,
- 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 三角螺旋阵 方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。
- 生成一个n*n的方阵,然后输出此方阵对角线上元素之和
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 第四题(迅雷笔试题):编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
- 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
- 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。