Вернуться   Форум программистов и сисадминов > Форум программистов > C/C++ > С/С++ для начинающих

Добро пожаловать на Форум программистов и сисадминов.
Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. После регистрации реклама в сообщениях будет скрыта.

С/С++ для начинающих
Вопросы начинающих по С/С++. Помощь в решении задач на C/C++.

Ответ Создать новую тему
 
Опции темы Опции просмотра
Старый 16.03.2010, 19:17   #1 (permalink)
PointsEqual
knight of compilers
 
Аватар для PointsEqual
 
Регистрация: 12.10.2009
Адрес: Москва
Сообщений: 1,197
Рейтинг сообщений: 220
Репутация: 205
По умолчанию вывод в файл

Здрасти. У меня есть процедура
Код C++
1
ShowMatrix(DeliveryMatrix,max_row,max_col);
, которая выводит массив на экран. А как вывести его в файл?
Код C++
1
ofstream out(12.txt);
вот этот способ не работает
Код C++
1
out<<ShowMatrix(DeliveryMatrix,max_row,max_col); 
не работает

__________________
"если нечто выглядит как объявление, это оно и есть..."
 
PointsEqual вне форума   Ответить с цитированием
Старый 16.03.2010, 19:24   #2 (permalink)
Genius Ignat
Форумчанин
 
Регистрация: 16.09.2009
Сообщений: 1,994
Рейтинг сообщений: 619
Репутация: 1079
По умолчанию Re: вывод в файл

Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
template<class Type>
long SaveMatrixD(const char *Path, Type **matrixbuf, int str, int stbl){
ofstream save(Path);
if(!save)return 1;       
if(save.is_open()){
for(int i=0;i<str;i++){
        for(int j=0;j<stbl;j++){
        save<<matrixbuf[i][j]<<' ';       
}
save<<'\n';    
}
save.close();        
}
return  0;
}
 
...

__________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.
Б.Страуструп

Последний раз редактировалось Genius Ignat; 16.03.2010 в 19:24. Причина: теги кода
 
Genius Ignat вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 16.03.2010, 19:26   #3 (permalink)
PointsEqual
knight of compilers
 
Аватар для PointsEqual
 
Регистрация: 12.10.2009
Адрес: Москва
Сообщений: 1,197
Рейтинг сообщений: 220
Репутация: 205
По умолчанию Re: вывод в файл

ага, значит в цикле, ясно

__________________
"если нечто выглядит как объявление, это оно и есть..."
 
PointsEqual вне форума   Ответить с цитированием
Старый 16.03.2010, 19:26   #4 (permalink)
Genius Ignat
Форумчанин
 
Регистрация: 16.09.2009
Сообщений: 1,994
Рейтинг сообщений: 619
Репутация: 1079
По умолчанию Re: вывод в файл

save<<'\n'; //можешь не писать иначе будешь возиться с загрузкой.

__________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.
Б.Страуструп
 
Genius Ignat вне форума   Ответить с цитированием
Старый 16.03.2010, 19:40   #5 (permalink)
PointsEqual
knight of compilers
 
Аватар для PointsEqual
 
Регистрация: 12.10.2009
Адрес: Москва
Сообщений: 1,197
Рейтинг сообщений: 220
Репутация: 205
По умолчанию Re: вывод в файл

или удобно но некрасиво, или неудобно но красиво)

без save<<'\n' в строку выводит

__________________
"если нечто выглядит как объявление, это оно и есть..."
 
PointsEqual вне форума   Ответить с цитированием
Старый 16.03.2010, 19:55   #6 (permalink)
Genius Ignat
Форумчанин
 
Регистрация: 16.09.2009
Сообщений: 1,994
Рейтинг сообщений: 619
Репутация: 1079
По умолчанию Re: вывод в файл

PointsEqual:
Может я ошибся насчёт '\n'.
Попробуй с '\n'
Попробуй загрузить в матрицу следующим образом.
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
template<class Type>
long LoadMatrixD(const char *Path, Type **matrixbuf, int str, int stbl){
ifstream load(Path);
if(!load)return 1;       
if(load.is_open()){
for(int i=0;i<str;i++){
        for(int j=0;j<stbl;j++){
        char sb;
        load>>matrixbuf[i][j]>>sb;       
}
    
}
load.close();  //правка.       
}
return  0;
}
 

__________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.
Б.Страуструп

Последний раз редактировалось Genius Ignat; 16.03.2010 в 19:56. Причина: ошибка в коде
 
Genius Ignat вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 16.03.2010, 19:57   #7 (permalink)
PointsEqual
knight of compilers
 
Аватар для PointsEqual
 
Регистрация: 12.10.2009
Адрес: Москва
Сообщений: 1,197
Рейтинг сообщений: 220
Репутация: 205
По умолчанию Re: вывод в файл

Genius Ignat, спасибо, все и так работает

__________________
"если нечто выглядит как объявление, это оно и есть..."
 
PointsEqual вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 16.03.2010, 20:01   #8 (permalink)
Genius Ignat
Форумчанин
 
Регистрация: 16.09.2009
Сообщений: 1,994
Рейтинг сообщений: 619
Репутация: 1079
По умолчанию Re: вывод в файл

Значит ошибся. приму к сведению.

__________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.
Б.Страуструп
 
Genius Ignat вне форума   Ответить с цитированием
Ads
Старый 16.03.2010, 20:26   #9 (permalink)
easybudda
Модератор
 
Аватар для easybudda
 
Регистрация: 25.07.2009
Адрес: Московская область
Сообщений: 2,515
Рейтинг сообщений: 1,066
Репутация: 2303
По умолчанию Re: вывод в файл

Код 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
#include <iostream>
#include <fstream>
        
template <typename T>   
std::ostream& ShowMatrix(std::ostream& ost, T **matr, size_t rows, size_t cols){
        for ( size_t i = 0; i < rows; i++ ){
                for ( size_t j = 0; j < cols; ++j )
                        ost << matr[i][j] << "  ";
                ost << '\n';
        }
        return ost;
}
 
int main(){
        const int rows = 5;
        const int cols = 4;
        int **matr = new int* [ rows ];
        for ( int i = 0; i < rows; ++i )
                matr[i] = new int [ cols ];
        for ( int i = 0; i < rows; ++i )
                for ( int j = 0; j < cols; ++j )
                        matr[i][j] = i + j;
        
        ShowMatrix(std::cout, matr, rows, cols);
        
        std::ofstream ofs("demo.txt");
        if ( !ofs.is_open() )
                return 1;
        ShowMatrix(ofs, matr, rows, cols);
        ofs.close();
        
        for ( int i = 0; i < rows; ++i )
                delete [] matr[i];
        delete [] matr;
        return 0;
}
 
 
easybudda вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Ответ Создать новую тему

  • Контроль действий персонала за ПК
  • Блокировка нежелательных сайтов, программ, файлов
  • Уведомления о нарушениях политики безопасности
  • Выявление внутренних угроз

  • Опции темы
    Опции просмотра

    Похожие темы
    Тема Автор
    C++, Использование char* в классах
    Всем доброе время суток! В общем пытаюсь создать простейший класс с использованием char* для представления строк При компиляции появляются непонятные ошибки(мне непонятные). Использую среду разработки MVS2008 //Заголовочный файл с описанием класса #pragma once class Test { private:. Использование char* в классах
    Legend-muay
    C++, Вычислите площадь и объем правильного шестиугольника
    Вычислите площадь и объем правильного шестиугольника за стороной а, используя функцию вычисления площади треугольника. Данная функция должна возвращать в главную программу все вычисленные значения. Реализуйте задачу с использованием указаний и с использованием ссылок.. Вычислите площадь и объем правильного шестиугольника
    Rom@
    C++, объединение и упорядочивание массивов
    Составить программу которая объединяет два упорядоченных по возрастанию массива в один, так же упорядоченный массив.. объединение и упорядочивание массивов
    Kosyak3x
    C++, вычисление элементов в массиве по столбцам
    Составить программу которая выводит по строкам с клавиатуры массив и вычисляет сумму элементов по столбцам.. вычисление элементов в массиве по столбцам
    Kosyak3x
    C++, вычисление среднего арифметического из массива
    Составить программу с использованием массивов и указателей (На C) Составить программу которая вычисляет среднее арифметическое элементов массива без учёта min и max элементов.. вычисление среднего арифметического из массива
    Kosyak3x
    C++, вывод минимального элемента из массива
    Составить программу с использованием массивов и указателей (На C) Составить программу которая выводит минимальный элемент введённого с клавиатуры массива целых чисел. Для доступа к элементам массива использовать указатель.. вывод минимального элемента из массива
    Kosyak3x
    C++, проверка нахождения числа в массиве
    Составить программу с использованием массивов и указателей (На C) Составить программу которая проверяет находится ли введённое с клавиатуры число в массиве. Массив должен вводится во время работы программы. проверка нахождения числа в массиве
    Kosyak3x
    C++, мах число
    написать прогу, которая определяет мах число из введеных с клавы последовательности положительных чисел. мах число
    игорь г

    Ваши права в разделе
    Вы не можете создавать новые темы
    Вы не можете отвечать в темах
    Вы не можете прикреплять вложения
    Вы не можете редактировать свои сообщения

    BB коды Вкл.
    Смайлы Вкл.
    [IMG] код Выкл.
    HTML код Выкл.



    Часовой пояс GMT +4, время: 02:47.

    Powered by vBulletin® Version 3.8.3
    Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. Перевод: zCarot
    Рейтинг@Mail.ru
    REQUEST_URI /showthread.php?t=105410