anh chị giải thích giùm em về 1 số câu lệnh trong cái chương trình này
(float*)a và ((float*)a)+i*20 là gì ạ
đây là toàn bộ chương trình
em cảm ơn ạ
#include <iostream>
#include <iomanip>
using namespace std;
void nhapmt(float a[20][20],int m, int n){
for(int i=0;i<m;i++)
for(int j=0;j<n;j++){
cout<<"\n a["<<i<<"]["<<j<<"] = ";
cin>>a[i][j];
}
}
void inmt(float a[20][20], int m, int n){
cout<<setiosflags(ios::showpoint)<<setprecision(1);
cout<<"\n Mang da nhap : ";
for(int i=0;i<m;i++)
for(int j=0;j<n;j++){
if(j==0) cout<<"\n";
cout<<setw(6)<<a[i][j];
}
}
void maxminds(float *x,int n,int &vtmax,int &vtmin){
vtmax=vtmin=0;
for(int i=1;i<n;i++){
if(x[i]>x[vtmax]) vtmax=i;
if(x[i]<x[vtmax]) vtmin=i;
}
}
int main(){
float a[20][20];
int m,n;
cout<<"Nhap so hang va cot : \n";
cin>>m>>n;
nhapmt(a,m,n);
inmt(a,m,n);
float *p =(float*)a;
int vtmax,vtmin;
for(int i=0;i<m;i++){
p=((float*)a)+i*20;
maxminds(p,n,vtmax,vtmin);
cout<<"\n Hang "<<i<<" phan tu max = "<<p[vtmax]<<" tai cot"<<vtmax;
cout<<"\n Phan tu min = "<<p[vtmin]<<" tai cot "<<vtmin<<endl;
}
}