Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Координаты m векторов заданы матрицей А(m,n) (m<=6, n<7). Необходимо вычислить длины этих векторов, распечатать значение и среди этих найти и указать http://www.cyberforum.ru/cpp-beginners/thread138917.html
Координаты m векторов заданы матрицей А(m,n) (m<=6, n<7). Необходимо вычислить длины этих векторов, распечатать значение и среди этих найти и указать номер вектора минимальной длины.
C++ В матрице В ( 4 на 4) найти произведение элементов главной диагонали. В матрице В ( 4 на 4) найти произведение элементов главной диагонали. http://www.cyberforum.ru/cpp-beginners/thread138916.html
Вывести на печать значение 2-го и 4-го отрицательного элемента массива B(7)=(-2,3; 0,1; -2,3; 4,1; -3,2; -2,0; -4,0) вместе с их порядковыми №. C++
Вывести на печать значение 2-го и 4-го отрицательного элемента массива B(7)=(-2,3; 0,1; -2,3; 4,1; -3,2; -2,0; -4,0) вместе с их порядковыми номерами.
Глюк или ? C++
я так понимаю, можно "остановить " консоль(не дать закрыться) разными способами кто как делает пишу я себе программу, ставлю как всегда что типа getch() не ловит! не останавливается, не ждет...
C++ Написать функцию sum с переменным числом параметров, которая находит сумму заданных обыкновенных дробей http://www.cyberforum.ru/cpp-beginners/thread138862.html
1. Написать функцию sum с переменным числом параметров, которая находит сумму заданных обыкновенных дробей. Написать вызывающую функцию min, которая обращается к функции sum не менее трех раз с...
C++ конструктор в классе написала программу создания объектов в классе с помощью конструктора, но есть ошибки в конструкторе, помогите пожалуйста найти и исправить их! #include<iostream.h> #include<conio.h> struct centr... подробнее

Показать сообщение отдельно
zigi91
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 21

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

01.06.2010, 08:50. Просмотров 511. Ответов 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();
      }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru