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

Потоковый вывод матрицы-объекта с манипуляторами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ разработка рекурсивных функций, не возвращающих значений (нахождение n-го члена и суммы n первых членов прогрессии) http://www.cyberforum.ru/cpp-beginners/thread838690.html
помогите пожалуйста разобраться с задачей: Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии
C++ Указатели для начинающего Доброго времени суток Всем. Перерыл много литературы, но так и не понял как можно реализовать одну задачку: суть ее такова, что нужно сперва ввести значение переменной, после выбрать режим 1 - выводить адрес на который указывает указатель; 2 - выводить данные на которые указывает указатель. Проблема в том, что мало только начинающий и не очень понимаю как реализовать подпрограмму выбора режим,... http://www.cyberforum.ru/cpp-beginners/thread838689.html
разработка нерекурсивных функций (вычислить значение выражения) C++
помогите плииз)) не могу разобраться в задаче:вычислить значение выражения a/b+c/d; результат представить в виде обыкновенной дроби, выполнив сокращение.
C++ Проверить, является ли один массив подмножеством другого
Здравствуйте! Опять нужна помощь. Задание: Написать функцию, принимающую в качестве аргумента, указатели на два массива (А и В) и размеры массивов. Функция проверяет, является ли массив В подмножество массива А и возвращает указатель на начало найденного фрагмент, если элемента нет, возвращает 0. Помогите, пожалуйста, найти ошибку! Вот примерный код #include<iostream> #include<time.h>...
C++ Отличия в работе new и malloc http://www.cyberforum.ru/cpp-beginners/thread838677.html
Выполняла задание на определение максимального объема памяти, который может выделить программа под трехмерный массив. В первый раз программа была написана с использованием malloc/free, второй раз с использованием new/delete. Результаты очень отличались: в первом случае максимальный размер массива был 600, во втором около 12000, к тому же второй вариант работал раз в 5 быстрее. Чем может быть...
C++ Запуск exe файла в графическом режиме Помогите пожалуйста как сделать так чтобы по нажатию клавиши запускался определенный ехе файл у меня есть 5 ехе-шников и при нажатии на кнопку 1-5 должен запускаться определенный файл , но я не знаю как вызвать его Написал код#include <graphics.h> #include <conio.h> int main(int argc, char **argv, char **env) { int k; подробнее

Показать сообщение отдельно
Некий_Чел
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 110
15.04.2013, 18:47     Потоковый вывод матрицы-объекта с манипуляторами
Нужно вывести матрицу-объект с помощью " << " используя манипуляторы из <iomanip>, заданные вне класса
(в мэйне)

Краткое описание класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Matrix
{
private:
    double * M; // указатель на матрицу
    int m; // число строк
    int n; // число столбцов
 
public:
    Matrix ( int, int, const double* );
// ...
    friend ostream & operator << ( ostream &, const Matrix & );
};
Определение перегруженного оператора " << ":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
ostream & operator << ( ostream & out, const Matrix & A )
{
    int i, j;
 
    for(i = 0; i < A.m; i ++)
    {
        for(j = 0; j < A.n; j ++) 
            out << A[i][j] << ' ';
        
        out << endl;
    }
    return out;
}
То, что я пытаюсь вывести в мэйне:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "Matrix.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{   
    double m[] = {1, 2, 9, 0, 4, 7};
    Matrix F(2,3,m);
        cout << endl << setw(10) << setprecision(2) << F << endl;
//...
}
На консоли выводятся 9 пробелов, 1 2 9, пропуск строки, 0 4 7
Естественно, манипуляторы подействовали только на первый выводимый эл-т.
И мне понятны причины, но как добиться того, чтобы все эл-ты выводились как того требуют манипуляторы?
Изменить код перегруженного оператора?
Подскажите, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru