Форум программистов, компьютерный форум CyberForum.ru

функции задания с матрицами (Выделить квадратную матрицу максимального размера...) - C++

Восстановить пароль Регистрация
 
ЕленаММ
Сообщений: n/a
14.12.2012, 19:53     функции задания с матрицами (Выделить квадратную матрицу максимального размера...) #1
Даны 2 матрицы A и B. Используя функцию для каждой из них найти:
Кроме этого написать функции а). для генерации элементов матриц; б).для чтения матриц их текстового файла. Использовать 3 файла (модуля) для заголовков и объявлений, для определений функций и для основной функции main.

Вот 2 задания
1.Выделить квадратную матрицу максимального размера в верхней левой её части.
2.Выделить квадратную матрицу максимального размера в нижней правой её части.

первую кое-как сделала с помощью друзей,а вот как вторую сделать что бы выводила в в нижней правой части не могу понять.в какой строке нужно переделать?

вот код 1 программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#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[i]=new double[m];
  for(i=0; i<n; i++)
  for(j=0; j<m; j++)
  a[i][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[i][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[i]=new int[k];
  for (i=0; i<k;i++)
  for (j=0; j<k;j++)
  c[i][j]=a[i][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[i][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[i]=new int[m];
  for(i=0; i<n; i++)
  for(j=0; j<m; j++)
  a[i][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;}

помогите кто чем может)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 19:53     функции задания с матрицами (Выделить квадратную матрицу максимального размера...)
Посмотрите здесь:

C++ Найти квадратную подматрицу максимального размера
C++ Создать квадратную матрицу
C++ задания с массивами матрицами и перегрузом функции
C++ создать квадратную матрицу...
C++ Программа с матрицами: с квадратную (n x n) работает нормально, а с m x n с выдаёт ошибку
C++ Разработать алгоритм и написать по нему программу умножения матрицы А размера m × n на матрицу В размера n × p. Значение величин m, n, р выбрать из та
Сформировать квадратную матрицу; транспонировать матрицу и инвертировать порядок элементов каждой ее строки C++
Сформировать квадратную матрицу C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru