Даны 2 матрицы A и B. Используя функцию для каждой из них найти:
Кроме этого написать функции а). для генерации элементов матриц; б).для чтения матриц их текстового файла. Использовать 3 файла (модуля) для заголовков и объявлений, для определений функций и для основной функции main.
Вот 2 задания
1.Выделить квадратную матрицу максимального размера в верхней левой её части.
2.Выделить квадратную матрицу максимального размера в нижней правой её части.
первую кое-как сделала с помощью друзей,а вот как вторую сделать что бы выводила в в нижней правой части не могу понять.в какой строке нужно переделать?
вот код 1 программы
#include "function.h"
double drandom (double basa, double amplituda)
{ double x;
x= basa + amplituda*(1.0*rand()/RAND_MAX);
return x;
}
double**sozdmatr(int n, int m, double basa, double amplituda)
{int i,j;
double**a;
a=new double*[n];
for(i=0; i<n; i++)
a=new double[m];
for(i=0; i<n; i++)
for(j=0; j<m; j++)
a[j]= drandom(basa, amplituda);
return a;
}
void print_matr(int n, int m, double**a, char*name)
{int i,j;
printf("Matrica %S:\n", name);
printf("\n");
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
printf("%7.0lf \t",a[j]);
printf("\n");
}
return;
}
int** fff(int n, int m, int** a, int &k)
{int i,j;
if (n>=m) k=m;
else k=n;
int** c;
c=new int*[k];
for(i=0; i<k; i++)
c=new int[k];
for (i=0; i<k;i++)
for (j=0; j<k;j++)
c[j]=a[j];
return c;
}
void print_matri(int n, int m, int**a, char*name)
{int i,j;
printf("Matrica %S:\n", name);
printf("\n");
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
printf("%4d \t",a[j]);
printf("\n");
}
return;
}
int irandom(int basa,int amplituda)
{
int x;
x= (int)(basa + amplituda*(1.0*rand()/RAND_MAX));
return x;
}
int** sozdmatri(int n, int m, int basa, int amplituda)
{int i,j;
int**a;
a=new int*[n];
for(i=0; i<n; i++)
a=new int[m];
for(i=0; i<n; i++)
for(j=0; j<m; j++)
a[j]= irandom(basa, amplituda);
return a;
}
#include <cstdlib>
#include <math.h>
#include <new>
#include <ctime>
#include <iostream>
using namespace std;
double drandom(double, double);
int irandom(int,int);
double **sozdmatr(int, int, double, double);
void print_matr(int, int, double**, char*);
int **fff(int, int, int**, int&);
void print_matri(int n, int m, int**a, char*name);
int** sozdmatri(int,int,int,int);
#include "function.h"
int main(int argc, char*argv[])
{
int**c;
int**a;
double**b;
double*x;
double*y;
int n,m,i,j,k;
srand(time(NULL));
cout<<"Razm m a n =\n";
cin>>n;
cin>>m;
a=sozdmatri(n,m,-5,10);
print_matri(n,m,a,"kvadr n");
/*b=sozdmatr(m,n, -5,10);*/
// print_matr(m,n,b,"kvadr n");
c=fff(n,m,a,k);
print_matri(k,k,c,"kvadr c");
system("PAUSE");
return EXIT_SUCCESS;}
помогите кто чем может)