當前位置:首頁 » 編程語言 » c語言3乘4矩陣NS圖表和代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言3乘4矩陣NS圖表和代碼

發布時間: 2022-08-28 03:01:39

A. 請大家幫忙用c語言編個程序,「有一個三乘四的矩陣,求編程求出其中值最大和最小的元素,輸出其值及其所在

# include <stdio.h>
main()
{ int max,maxi,maxj,min,mini,minj,a[3][4],i,j;
printf("input numbers:\n');
for(i=0,i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
for(i=0,i<3;i++)
for(j=0;j<4;j++)
{ if(a[i][j]>max)
{ max=a[i][j];
maxi=i+1;
maxj=j+1;
}
if(a[i][j]<min)
{ min=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("最大值為%d,在第%d行,第%d列;\n最小值為%d,在第%d行,第%d列。\n",max,maxi,maxj,min,mini,minj);
}
滿意請採納!

B. C語言求出一個3×4的矩陣每一行的最大值

1、/打開Dev-c++軟體,點擊「新建源代碼」。

C. c語言 有一個3*4的矩陣,求所有元素中的最大值

核心代碼:
int m[3][4] = ("你的矩陣");
int max=m[0][0];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(max < m[i][j]) max = m[i][j];
}
}
printf("最大值為%d",max);

D. 用c語言編寫輸出3*4的矩陣,求最後一個最小值並顯示行號和列號

#include<stdio.h>

int main() {
const unsigned row=3, col=4;//定義行列數
unsigned minx, miny;//最小值的行列
int min;//最小值
int nums[row][col];
for (unsigned i = 0; i < row; i++)//錄入數據
{
for (unsigned j = 0; j < col; j++)
{
scanf("%d",&nums[i][j]);
}
}
min = nums[0][0];//初始化最小值為第一行第一列的數
minx = 1;
miny = 1;
for (unsigned i = 0; i < row; i++)//遍歷數組找出最小值
{
for (unsigned j = 0; j < col; j++)
{
if (nums[i][j] <= min)
{
min = nums[i][j];
minx = i+1;
miny = j+1;
}
}
}
printf("最小值為:%d,位於第%u行%u列", min, minx, miny);//輸出數據
return 0;
}

E. c語言編寫一個程序,實現一個3×4矩陣轉置。

思路:定了兩個二維數組分別存儲轉置前後的矩陣,接著for循環依次轉置即可。

//參考代碼
#include<stdio.h>
intmain()
{
inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},b[4][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%2d",b[i][j]);
printf(" ");
}
return0;
}
/*
運行結果:
159
2610
3711
4812
*/

F. C語言編程:有一個3*4的矩陣,找出其中最小的那個元素,以及它所在的行和列。

假設矩陣是mat[3][4]:
minElem=mat[0][0];
elemX=0;
elemY=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(mat[i][j]<minElem)
{
minElem=mat[i][j];
elemX=i;
elemY=j;
}
}
}
printf("最小的是%d,它位於第%d行,第%d列。\n",minElem,elemX,elemY);

這樣可以嗎?有意見可以更改

G. C語言數組問題 有一個3*4的矩陣,要求編程求出其中值最大的那個元素的值,以及其所在的行號和例號

執行max=a[0][0]後max=1
if(a[i][j]>max)此時max值不能確定,因為前面有兩個循環嵌套,執行完
if(a[i][j]>max) //此處i j值不確定,不知道max是否比a[i][j]大
{
max=a[i][j]; //此處i j值不確定,max可能會變化
row=i;
colum=j;
}
後會執行 j++ ,如果此時 j<=3 則繼續執行 if 語句,如果 j>3 則執行 i++;j=0;
然後再次執行 if(a[i][j]>max) 語句 ,此時的i、j都不能確定,此前max的值有可能變化了

H. C語言:編寫程序,計算兩個3×4矩陣的和

#include<stdio.h>

int main()

{

int a[3][4],b[3][4],c[3][4];

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

scanf("%d",&a[i][j]);

printf(" ");

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

scanf("%d",&b[i][j]);

printf(" ");

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

{

c[i][j]=a[i][j]+b[i][j];

printf("%d",c[i][j]);

if(j!=3)

printf(" ");

else

printf(" ");

}

return 0;

}

I. 求C語言流程圖:一個3*4的矩陣,要求編寫一個程序找出每一行中的最大值並與第一列交換!明天考拜託了!急!

#include <cmath>
#include <iostream>
using namespace std;
void swap(double &a,double &b)
{
double temp=a;
a=b;
b=temp;
}

int InverseMatrix(double *matrix,const int &row)
{
double *m=new double[row*row];
double *ptemp,*pt=m;

int i,j;

ptemp=matrix;
for (i=0;i<row;i++)
{
for (j=0;j<row;j++)
{
*pt=*ptemp;
ptemp++;
pt++;
}
}

int k;

int *is=new int[row],*js=new int[row];

for (k=0;k<row;k++)
{
double max=0;
//全選主元
//尋找最大元素
for (i=k;i<row;i++)
{
for (j=k;j<row;j++)
{
if (fabs(*(m+i*row+j))>max)
{
max=*(m+i*row+j);
is[k]=i;
js[k]=j;
}
}
}

if (0 == max)
{
return 1;
}

//行交換
if (is[k]!=k)
{
for (i=0;i<row;i++)
{
swap(*(m+k*row+i),*(m+is[k]*row+i));
}
}

//列交換
if (js[k]!=k)
{
for (i=0;i<row;i++)
{
swap(*(m+i*row+k),*(m+i*row+js[k]));
}
}

*(m+k*row+k)=1/(*(m+k*row+k));

for (j=0;j<row;j++)
{
if (j!=k)
{
*(m+k*row+j)*=*((m+k*row+k));
}
}

for (i=0;i<row;i++)
{
if (i!=k)
{
for (j=0;j<row;j++)
{
if(j!=k)
{
*(m+i*row+j)-=*(m+i*row+k)**(m+k*row+j);
}
}
}
}

for (i=0;i<row;i++)
{
if(i!=k)
{
*(m+i*row+k)*=-(*(m+k*row+k));
}
}
}

int r;
//恢復
for (r=row-1;r>=0;r--)
{
if (js[r]!=r)
{
for (j=0;j<row;j++)
{
swap(*(m+r*row+j),*(m+js[r]*row+j));
}
}
if (is[r]!=r)
{
for (i=0;i<row;i++)
{
swap(*(m+i*row+r),*(m+i*row+is[r]));
}
}
}

ptemp=matrix;
pt=m;
for (i=0;i<row;i++)
{
for (j=0;j<row;j++)
{
*ptemp=*pt;
ptemp++;
pt++;
}
}
delete []is;
delete []js;
delete []m;

return 0;
}
void input(double *pData,int n)
{
cout<<"輸入矩陣元素:"<<endl;
int i,j;
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
cin>>pData[i*n+j];
}
}
}

void OutPut(double *pData,int n)
{
int i,j;
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
cout<<pData[i*n+j]<<" ";
}
cout<<endl;
}
}
int main()
{
double *pData;
int n;
cout<<"輸入矩陣的大小:";
cin>>n;
pData = new double[n*n];
input(pData,n);
cout<<"矩陣為:"<<endl;
OutPut(pData,n);
InverseMatrix(pData,n);
cout<<"逆矩陣為:"<<endl;
OutPut(pData,n);
delete []pData;
return 0;
}

J. 用C語言編程,輸入一個3*4整數矩陣並且求各行元素之和和各列元素之和

1.
#include <stdio.h>
int main()
{
int a[3][4]={0};
int i,j,max,max_i,max_j;
printf("Please input a 3X4 matrix:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
max_i=max_j=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>max)
{
max=a[i][j];
max_i=i;
max_j=j;
}
printf("The max is %d,row %,col %d\n",max,max_i,max_j);

}

2.
#include <stdio.h>
int main()
{
char a[100]={0};
int i,count=0;
printf("Please input a string:");
gets(a);
for(i=0;a[i]!='\0';i++)
if(a[i]==' ')
count++;

printf("The string contents %d space\n",count);

}