我正在撰寫一個程式,您輸入 n 行 xm 列矩陣,然后找到總和最大的列并將該列列印出來,我正在嘗試將該列列印出來。任何幫助,將不勝感激。
例如:
Input Output
4 5 6 4 0 0 4
4 2 3 2 2 2 4
6 5 2 1 0 1 6
我的結果:
Input Output
4 5 6 4 0 0
4 2 3 2 2 2 14
6 5 2 1 0 1
還有我的代碼:
#include<stdio.h>
void Entermatrix(int a[][50], int &n,int &m)
{
printf("Enter matrix's rows: ");
scanf("%d",&n);
printf("Enter matrix's columms: ");
scanf("%d",&m);
for(int i=0;i<n;i )
for(int j=0;j<m;j ){
printf("A[%d][%d]= ",i,j);
scanf("%d",&a[i][j]);
}
}
void Printmatrix(int a[][50], int n, int m)
{
for(int i=0;i<n;i ){
for(int j=0;j<m;j ) {
printf("]",a[i][j]);
}
printf("\n");}
}
void Columnwithbiggestsum(int a[][50],int n,int m)
{
int max=0;
for(int i=0;i<m;i )
{
int sum=0;
for(int j=0;j<n;j ){
sum = sum a[j][i];
}
if (sum >max){
max=sum;
}
}printf ("The biggest sum by column is: %d",max);
}
int main()
{
int a[50][50],n,m;
Entermatrix(a,n,m);
Printmatrix(a,n,m);
Columnwithbiggestsum(a,n,m);
return 0;
}
uj5u.com熱心網友回復:
在函式“Columnwithbiggessum”中,您可以保留另一個變數來存盤總和最高的列號。
獲得列號后,您可以在矩陣中迭代以列印該列的內容。
修改您的代碼以列印列
void Columnwithbiggestsum(int a[][50],int n,int m)
{
int max=0;
int columnNo=0;
for(int i=0;i<m;i )
{
int sum=0;
for(int j=0;j<n;j ){
sum = sum a[j][i];
}
if (sum >max){
max=sum;
columnNo = i;
}
}
for(int i=0;i<n;i )
{
printf ("%d \n", a[i][columnNo]);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/382274.html
