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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zigi91
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 21
#1

Как задать размерность матрицы с клавы?? - C++

01.06.2010, 08:50. Просмотров 501. Ответов 0
Метки нет (Все метки)

Почему-то он у меня ругается на метод вывода Print()
Может быть кто-нибудь подскажет как можно сделать по другому ввод размерности
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
 
 
class Matrix{
 private: int n,m;
            int **x;
 public:
 Matrix();
 Matrix(int n1,int m1);
 Matrix&Create(int n1,int m1);
 void Print(char*string);
 void Put(int i,int j,int x1);  //metod ustanov novoe znachenie
 int Get(int i,int j);        //metod vozvr znachnie
  Matrix& operator*(Matrix &a);
  Matrix& operator=(Matrix &a);
  ~Matrix();
  };
 
 //inic znach polei klassa nulevumi
 
 Matrix::Matrix(){
 n=0;
 m=0;
 x=NULL;
 }
 
 //inic kol-vo strok i stobcov matricy,vydyl pamyati
 
 
 Matrix::Matrix(int n1,int m1){
 n=n1;
 m=m1;
 x=new int*[n];
 for(int i=0;i<n;i++)
   x[i]=new int[m];
  for(i=0;i<n;i++)
   for(int j=0;j<m;j++)
    x[i][j]=random(7);
  }
  void Matrix::Print(char* string){
  if(x==NULL)
  cout<<endl<<"Њ*ваЁж* *Ґ §*¤***."<<endl;
  else
  {
  cout<<string<<endl;
  for(int i=0;i<n;i++)
  { for(int j=0;j<m;j++)
   cout<<x[i][j]<<" ";
   cout<< endl;
 
   }
   }
   }
 
  //izmenenie znachenie elementa v pozicii i,j  na x1
 
  inline void Matrix::Put(int i,int j,int x1){
  x[i][j]=x1;
  }
 
  //vozvr znachenia
 
  inline int Matrix::Get(int i,int j){
  return x[i][j];
   }
 
  Matrix& Matrix:: operator*(Matrix &a){
 
  Matrix *temp;
  temp=new Matrix();
  if(m!=a.n) {
  cout<<endl<<"ЋЇҐа*жЁп *Ґ ¬®¦Ґв Ўлвм ўлЇ®«*Ґ**."<<endl;
  return *temp;}
  temp ->Create(n,a.m);// vyd pamyaty pod matricu-rezultat umnogenia
  //umnog matric
  for(int i=0;i<n;i++)
   for(int j=0;j<a.m;j++)
   { int s=0;
     for (int k=0;k<m;k++)
      s+=x[i][k]*a.x[k][j];
    temp->x[i][j]=s;
    }
    return *temp;
    }
 
 
 
   Matrix& Matrix::operator=(Matrix&a){
   n=a.n;
   m=a.m;
   if(x!=NULL){
    for(int i=0;i<n;i++)
     delete[] x[i];
    delete[]x;}
    x=new int*[n];
     for(int i=0;i<n;i++)
    x[i]=new int[m];
     for(i=0;i<n;i++)
      for(int j=0;j<m;j++)
       x[i][j]=a.x[i][j];
       return *this;
       }
 
       //vydelen pamyat pod matr obyekta;zadautsya novye znachenia polei
 
 
     Matrix& Matrix::Create(int n1,int m1){
 
     n=n1;
     m=m1;
     if(x!=NULL){
      for(int i=0;i<n;i++)
       delete[]x[i];
      delete[]x;}
      x=new int*[n];
      for(int i=0;i<n;i++)
       x[i]=new int[m];
       return *this;
       }
 
       //destruct klassa
       Matrix::~Matrix(){
       for(int i=0;i<n;i++)
        delete[]x[i];
       delete[]x;
       }
 
       void main(){
       clrscr();
       randomize();
       float **A;
       float **B;
       int razm1,razm2;
       int razm3,razm4;
       //opisanie i sozdanie objectov A i B
 
 
       cout<<"‚Введите размерность матрицы 1: "<<razm1<<razm2<<endl;
       cin>>razm1,razm2;
       cout<<"Введите размерность матрицы 2: "<<razm3<<razm4<<endl;
       cin>>razm3,razm4;
       A=new float*[razm1];
       for(int i=0;i<razm1;i++)
        A[i]=new float[razm2];
        for(i=0;i<razm1;i++)
         for(int j=0;j<razm2;j++)
        cout<<"ЏҐаў*п ¬*ваЁж*"<<endl;
 
        {
        A.Print();}
       B=new float*[razm3];
       for(int l=0;l<razm3;l++)
        B[l]=new float[razm4];
        for( l=0;l<razm2;l++)
         for(int m=0;m<razm4;m++)
       
     { B.Print();}
      Matrix C=A*B;
      C.Print("A*B=");
      getch();
      }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2010, 08:50     Как задать размерность матрицы с клавы??
Посмотрите здесь:

Задать размерность матрицы с клавиатуры - C++
Задан двумерный массив U. Значения n и m должны вводиться. Внутренние значения массива выбираются случайно. Полученный массив должен...

Задать размерность матрицы с клавиатуры - C++
Подскажите пожалуйста как сделать чтобы можно было задавать размер матрицы с клавиатуры. Код программы: #include &lt;iostream.h&gt; ...

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

Как изменить размерность матрицы - C++
Помогите плз. Мне нужно просграммно поменять размерность матрицы. Например была матрица mat а должна получиться после определенных...

Правильно задать размерность массива - C++
unsigned char phrase = &quot;XАXАXАXАX&quot;; unsigned char to_display; В массиве phrase буква А - русские в utf-8. по два байта на...

Как из файла прочитать размерность матрицы и её содержимое? - C++
Помогите пожалуйста, ничего не нашёл! Как из файла прочитать размерность матрицы и её содержимое?

Задать размерность вектору генератором случайных чисел - C++
Привет) Ситуация следующая: Динамический вектор. Написать программу по формированию динамического вектора целого типа. Имя вектора...

Задать размерность массива рандомно, и выполнить над ним действие! - C++
Объявить массив целых чисел и с заполнить его случайными значениями. Диапазон значений его элементов заданы в Вашем варианте...

Размерность матрицы в файле - C++
Здраствуйте, вот у меня кусок кода в котором я открываю файл и записываю в матрицу q на w! Хотел бы узнать, как сделать, что бы не...

Размер vs. размерность матрицы - C++
Вопрос скорее теоретический. Чем отличается размер матрицы от размерности? И как правильно спрашивать пользователя в программе: &quot;Введите...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru