Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
1

Почему матрица выводится как обычный массив

19.05.2012, 15:02. Показов 940. Ответов 8
Метки нет (Все метки)

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
//matriza.h
#pragma once
 
class matriza
{
float *b,max,s;
int n,m,nom;
public:
    matriza();
    void ww_matriza();
    void f_max();
    void ww_max();
    void find_sum();
    void ww_sum();
    ~matriza();
};
//matriza.cpp
#include "StdAfx.h"
#include "matriza.h"
#include <iostream>
#include "conio.h"
 
using namespace std;
 
matriza::matriza()
{
    cout<<"\n Vvedite razmernost matrici n m";
    cin>>n;
    cin>>m;
    b=new float [n*m];
    for (int i=0;i<n;i++)
    for (int j=0;j<m;j++)
    {
        *(b+i*m+j)=0.5+rand();
    }
    cout<<"\n Rabotal konstruktor bez parametrov";
}
void matriza::ww_matriza()
{
    for (int i=0;i<n;i++)
    {for(int j=0;j<m;j++)
        {
            cout<<"\n "<<*(b+i*m+j);
        }
    }
}
void matriza::f_max()
{
    max=*b;
    for (int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            if(*(b+i*m+j)>max)
            {
                max=*(b+i*m+j);
                nom=i;
            }
        }
}
void matriza::ww_max()
{
    cout<<"\n max element= "<<max;
      cout<<"\n nom str= "<<nom;
 
}
void matriza::find_sum()
{
    s=0;
    for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    {
        s=s+*(b+i*m+j);
    }
}
void matriza::ww_sum()
{
cout<<"\n Summa matrizi"<<s;
}
 
matriza::~matriza()
{
    delete[]b;
    cout<<"\n Rabotal destruktor";
}
// kontrol2.cpp:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "matriza.h"
 
void main()
{
matriza *x;
x=new matriza;
x->ww_matriza();
x->f_max();
x->ww_max();
x->find_sum();
x->ww_sum();
system ("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2012, 15:02
Ответы с готовыми решениями:

Массив не выводится как матрица
Есть массив который выводится в виде матрицы. В первый раз он выводится как надо, а после...

Почему матрица выводится криво?
Ребят, почему матрица выводится криво? const n=5; type matrix = array of real; var a:matrix;...

Почему на экран не выводится метод (не отображается транспонированная матрица)
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;iomanip&gt; using namespace std; class...

В цикле где выводится матрица j принимает какие-то странные значения. Почему?
воде все верно, по в цикле где выводится матрица j принимает какие-то странные значения....

8
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
19.05.2012, 15:18 2
добавьте перенос строки, здесь
C++
1
2
3
4
5
6
7
8
9
10
void matriza::ww_matriza()
{
    for (int i=0;i<n;i++)
    {for(int j=0;j<m;j++)
        {
            cout<<"\n "<<*(b+i*m+j);
        }
   cout << endl;
    }
}
0
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
19.05.2012, 15:21  [ТС] 3
Всё равно выводит как попало, хотелось бы вывод по строкам и столбцам
0
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
19.05.2012, 15:22 4
C++
1
 cout<<"\n "<<*(b+i*m+j);
еще вместо \n пробел оставьте.
C++
1
 cout<<" "<<*(b+i*m+j);
1
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
19.05.2012, 15:28  [ТС] 5
Блин и всё равно вывод какойто не форматированный совсем. Может поможет prinf?

Добавлено через 1 минуту
Нет printf тоже гонит
0
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
19.05.2012, 15:33 6
Цитата Сообщение от Vadim8063 Посмотреть сообщение
Блин и всё равно вывод какойто не форматированный совсем. Может поможет prinf?
http://liveworkspace.org/code/... b9ec333543

вывод внизу, если сойдет посмотрите, что я поменял.

Добавлено через 3 минуты
Цитата Сообщение от Vadim8063 Посмотреть сообщение
Нет printf тоже гонит
надо уметь пользоваться флагами форматирования, тогда все работать будет как надо.
1
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
19.05.2012, 15:34  [ТС] 7
блин у меня всё равно коряво выводит
0
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
19.05.2012, 15:38 8
C++
1
2
3
4
5
6
7
8
9
10
Rabotal konstruktor bez parametrov
     1.80429e+09     8.46931e+08     1.68169e+09     1.71464e+09     1.95775e+09     4.24238e+08
     7.19885e+08     1.64976e+09     5.96517e+08     1.18964e+09     1.0252e+09  1.35049e+09
     7.83369e+08     1.10252e+09     2.0449e+09  1.96751e+09     1.36518e+09     1.54038e+09
     3.04089e+08     1.30346e+09     3.50052e+07     5.21595e+08     2.94703e+08     1.72696e+09
     3.36466e+08     8.61022e+08     2.78723e+08     2.33665e+08     2.14517e+09     4.68703e+08
 
 max element= 2.14517e+09
 nom str= 4
 Summa matrizi3.22745e+10

что в этом не так?

Добавлено через 1 минуту
3 строка сдвигается на форуме.
1
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
19.05.2012, 15:43  [ТС] 9
На форуме выводит нормально а в консоли все строки сдвигаются

Добавлено через 2 минуты
Всё спасибо разобрался, это из за рендома такую ересь выводило поменял на
C++
1
*(b+i*m+j)=0.5+rand()%20-10;
И всё полетело...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2012, 15:43

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Почему не выводится массив?
int matrix = new int { {0,1,2 }, {3,6,7 }, ...

Почему выводится весь массив
Доброго времени суток! Прошу прощения за нубский вопорс, но окончательно запутался. В указателе на...

Почему массив не выводится на экран?
Почему не выводится массив на экран? program Evpatov; var A: array of real; i,n:integer; begin...

Почему неправильно выводится массив?
Не пойму... массив arr выводится неправильно, если его выводить в main.Получается что-то типа...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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