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

c語言4x5矩陣怎麼算

發布時間: 2022-08-27 00:42:18

A. 請幫我看一條程序,很簡單的C。要求是輸出4x5矩陣周圍一圈整數的和。

老報錯的地方,前面少一個分號(;)問題在這兒。

B. c語言中的矩陣是怎樣計算的

矩陣的表示使用二維數組,當然二維數組通常情況下是不可以動態分配的,因此最好已開始定義一個足夠大的數組來存放矩陣元素。至於加減乘逆等運算,主要是利用嵌套循環操作其單個元素,由於每個人的方法不一樣就不詳細說了。希望對你有所幫助。

C. C語言的矩陣問題

定義變數
int a[4][5]={};
int i,j;
int max1=0,max2=0;
int min1=0,min2=0;

查找函數
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
if(a[max1][max2]<a[i][j])
max1=i;
max2=j;

}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
if(a[min1][min2]>a[i][j])
min1=i;
min2=j;

}

}
}

輸入函數
{

printf("請輸入4*5的矩陣");

for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
scanf(" %d",a[i][j])
}
}

輸出函數
輸出上面求的的MAX1 MAX2 MIN1 MIN2的值就行了。。。

D. c語言矩陣運算

#include<vector>
#include<iostream>
intmain()
{
usingnamespacestd;
intm,n,p;
vector<vector<int>>A,B,C;
cout<<"pleaseinputm,n,p"<<endl;
cin>>m>>n>>p;
vector<int>tmp;
intttp;
for(inti=0;i<m;i++)
{
for(intj=0;j<n;j++)
{
cin>>ttp;
tmp.push_back(ttp);
}
A.push_back(tmp);
tmp.clear();
}
for(inti=0;i<n;i++)
{
for(intj=0;j<p;j++)
{
cin>>ttp;
tmp.push_back(ttp);
}
B.push_back(tmp);
tmp.clear();
}
for(inti=0;i<m;i++)
{
for(intj=0;j<p;j++)
{
ttp=0;
for(intk=0;k<n;k++)
ttp=ttp+A[i][k]*B[k][j];
tmp.push_back(ttp);
}
C.push_back(tmp);
tmp.clear();
}
for(inti=0;i<m;i++)
{
for(intj=0;j<p;j++)
{
cout<<C[i][j]<<'';
}
cout<<endl;
}
system("pause");
}

現在是2017年10月15日,無意中回答了一道2011年12月09日的題,留念。

E. 計算機作業

給你提個建議吧,參加個qq群,有專門的c語言技術群 你有qq吧 查找一下

F. C語言如何用while循環輸出4x5的矩陣

#include <stdio.h>

void main()

{

int i,j;

for(i=1;i<5;i++)

{

for(j=1;j<6;j++)

printf("%-3d",i*j);

printf(" ");

}

}


G. 求4*5矩陣...c語言詳細解說!!謝謝!!

#include"stdio.h" //標准庫文件
#include"conio.h"
int main()
{
int a,b,c=0;
for(a=1;a<=4;a++) //a 代錶行 1到4 一共四行 下面的for循環代表處理每一行的列 例如第一行的 1 2 3 4 5 列
for(b=1;b<=5;b++,c++) //處理每一列 循環5次以後 a+1 再循環5次 知道A=4
{
if(c%5==0)//如果一行已經有5個元素了 則控制換行
printf("\n");
printf("%d\t",a*b); //把a*b的結果當成矩陣中的某個元素 具體坐標由ab決//定 例如 a=2 b=4 代表第二行第四列的元素為8
}
putchar('\n'); //輸出完矩陣後換行
getch();//等待用戶輸入一個字元
return 0;
}

H. C語言:輸出一個4*5的循環矩陣

按照你的要求編寫的C語言4*5的循環矩陣的程序如下
#include<stdio.h>
int main(){
int a[]={1,2,3,4,5};
int i,j;
for(i=0;i<4;i++){
for(j=5-i;j<5;j++){
printf("%d ",a[j]);
}
for(j=0;j<5-i;j++){
printf("%d ",a[j]);
}
printf("\n");
}
return 0;
}如果需要存儲在二維數組中,可以看看下面的C語言程序
#include<stdio.h>
int main(){
int a[]={1,2,3,4,5},b[4][5];
int i,j,k;
for(i=0;i<4;i++){
k=0;
for(j=5-i;j<5;j++,k++){
b[i][k]=a[j];
}
for(j=0;j<5-i;j++,k++){
b[i][k]=a[j];
}
}
for(i=0;i<4;i++){
for(j=0;j<5;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
return 0;
}運行結果

I. c語言矩陣怎麼寫

方法1:直接定義10*10的數組,讀取全部數據,再根據選擇的行列數列印輸出部分數據。

方法2:通過文件流指針的移動,跨過不需要的內容。(這里控制文件流指針可利用ftell和fseek函數來移動指定位元組數)我是利用fscanf讀取需要的內容,遇到需要跳行就用fgets來跳過。(注意常量參數根據自己需求修改)。

說明:邊讀取邊列印輸出,就不需要變數存儲。我的代碼是把讀取出來的內容存放在三維數組中(文件內容你沒指定,如是單純數字,二維數組即可,我是作為字元串處理,故用三維數組。),數組是根據實際大小,動態申請,寫成兩個獨立函數。

下面是代碼:

#include <stdio.h>

#include <string.h>

#include <malloc.h>

#define MAXR 10//文件中矩陣最大行

#define MAXC 10//文件中矩陣最大列

#define MS 3//矩陣中元素字元串最大字元數(包含結束符號,不可小於實際內容)

#define MBUF 100//文件中一行最大字元數,可設置大一點

char ***getMem(int r,int c,int len);//動態申請一個三維數組

void freeMem(char ***datas,int r,int c);//釋放數組空間

void showDatas(char ***datas,int r,int c);//列印輸出結果

int main()

{

int r=MAXR+1,c=MAXC+1,i=0,j=0;

char ***datas=NULL,str[3],buf[MBUF];

FILE *fp=NULL;

printf("請輸入要獲取的行數和列數: ");

while(r<0 || r>MAXR || c<0 || c>MAXC)scanf("%d%d",&r,&c);

datas=getMem(r,c,MS);

fp=fopen("C:\test.data","r");

if(!fp) return 1;

while(fscanf(fp,"%s",str)!=-1)

{

if(i<c) strcpy(datas[j][i],str),i++;

if(i==c)

{

if(!fgets(buf,sizeof(buf),fp)) break;

i=0,j++;

}

if(j==r) break;

}

showDatas(datas,r,c);

freeMem(datas,r,c);

return 0;

}

void showDatas(char ***datas,int r,int c)

{

int i,j;

for(i=0;i<r;i++,printf(" "))

for(j=0;j<c;j++)

printf("%s ",datas[i][j]);

printf(" ");

}

void freeMem(char ***datas,int r,int c)

{

int i,j;

if(!datas)

{

for(i=0;i<r;i++,free(datas[i]))

for(j=0;j<c;j++)

free(datas[i][j]);

free(datas);

}


}

char ***getMem(int r,int c,int len)

{

int i,j;

char ***datas=NULL,**dr=NULL;

datas=(char ***)malloc(sizeof(char **)*r);

if(!datas) return NULL;

for(i=0;i<r;i++)

{

dr=(char **)malloc(sizeof(char *)*c);

if(!dr) return NULL;

else

{

for(j=0;j<c;j++)

{

dr[j]=(char *)malloc(sizeof(char)*len);

if(!dr[j]) return NULL;

}

datas[i]=dr;

}

}

return datas;

}

J. 有一個4*5矩陣,用MATLAB編程求出其最大值及其所在的位置

MATLAB求最大值直接調用求最值的函數 max 函數就好了。例如矩陣為 A ,那麼求最值即為 max_A = max( max(A) ) , [m,n] = find( max_A == A )

程序中出錯的原因可能是因為第一行結束的分號是中文分號,換成非英文分號就好。

MATLAB 中的 max 函數是求最大值的函數。

1、如果 A 是向量,則 max(A) 返回 A 的最大值。

這也是求矩陣的最大值需要使用兩個 max 函數的原因。使用 find 函數可以找到矩陣中等於最大值的位置。

(10)c語言4x5矩陣怎麼算擴展閱讀:

max函數的其他用法:

1、M = max(A,[],dim) 沿著維度 dim 返回最大元素。例如,如果 A 為矩陣,則 max(A,[],2) 是包含每一行的最大值的列向量。

2、M = max(A,[],nanflag) 指定在計算中包括還是忽略 NaN 值。例如,max(A,[],'includenan') 包括 A 中的所有 NaN 值,而 max(A,[],'omitnan') 忽略這些值。可以指定使用 nanflag 選項時的運算維度。

3、[M,I] =max(___) 使用先前語法中的任何輸入參數,查找 A 的最大值的索引,並在輸出向量 I 中返回這些索引。如果最大值出現多次,則 max 返回對應於第一次出現位置的索引。

4、C = max(A,B) 返回從 A 或 B 中提取的最大元素的數組。

參考資料:MATLAB文檔中心