Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 22.04.2011
Сообщений: 18
1

Вывод матрицы в файл, инициализация

21.10.2011, 00:25. Показов 2906. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, вечер вопросов, надеюсь на вашу помощь, кучу времени убил уже( Цели простая: заполнить матрицу последовательными числами, вывести результат на консоль, затем вывестти результат в текстовый файл. Столкнулся с проблемами: матрица не хочет нормально инициализироваться, при выводе в файл выводятся не числа, а символы, после завершения программы не ждет нажатия enter? а сразу выключается. Заранее спасибо, мой код ниже) Изпользую 2010 visual studio.

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
#include "stdafx.h"
#include <iostream>
#include <locale>
#include <fstream>
 
using namespace std;
using std::cin;
using std::wcout;
 
using namespace System;
 
int main(array<System::String ^> ^args)
{
int k=0;
 
int i,j;
const int nstr=2, nstb=6;
int matrix [nstr][nstb];
for ( i=0; i<=nstr; i++)
for ( j=0; j<=nstb; j++)
{matrix[i][j]=k; k=k+1;}
 
for (int i=0; i<nstr; i++) {
cout<<'\n';
for (int j=0; j<nstb; j++)
cout<<*matrix[i,j]<<' ';
 
}
 
ofstream file ("C:/text.txt");
if (!file){Console::WriteLine(L"Поток не работает");}
file.write (reinterpret_cast <char *> (&matrix),sizeof matrix);
 
return 0;
 
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2011, 00:25
Ответы с готовыми решениями:

Вывод матрицы в файл
Здравствуйте. Помоги пожалуйста решить проблему вывода в текстовый файл матрицы. using System;...

Вывод матрицы в файл
Добрый день. Есть массив 64х48. Нужно вывести его в текстовый файл в виде матрицы. Почему-то у меня...

Вывод матрицы в файл
У меня проблема. Не получается вывести вторую матрицу в файл, которая получилась после того, как...

Вывод матрицы на экран/в файл
Здравствуйте. Прошу помочь с выводом матрицы на экран\в файл, перепробывал много вариантов но всё...

5
Заблокирован
Автор FAQ
21.10.2011, 12:13 2
Цитата Сообщение от zargandr Посмотреть сообщение
надеюсь на вашу помощь
Вот код
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
// matr.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int main(int argc, char* argv[])
{
    int i, j, k, nstr, nstb;
    cout<<"Enter rows in matrix : ";cin>>nstr;
    cout<<"Enter cols in matrix : ";cin>>nstb;
    //Открываем поток
    ofstream file ("text.txt");//text.txt будет в каталоге программы
    //Далее создаём динамическую матрицу
    //предлагаю уйти от статических массивов
    //и учиться уже работать с массивами
    //размерность которіх задаётся пользователем
    int ** matrix = new int *[nstr];//Память под строки
    for(i = 0, k = 0; i <= nstr; i++)
    {
        matrix[i] = new int [nstb];//Память под элементы строки
        for(j = 0; j <= nstb; j++, k++)
        {
            cout<<(matrix[i][j] = k)<<" ";
            file<<matrix[i][j]<<" ";
        }
        cout<<"\n";
        file<<"\n";
    }
    file.close();//Закрываем поток
    delete [] matrix;//Чистим память
    system("pause");//Чтобы програма сразу не закрывалась
    return 0;
}
Миниатюры
Вывод матрицы в файл, инициализация  
0
Заблокирован
Автор FAQ
21.10.2011, 12:23 3
Остановлюсь на ошибках, думаю это полезно будет
Цитата Сообщение от zargandr Посмотреть сообщение
matrix[i,j]
- обращению к элементу 2-х мерного массива осуществляется вот так matrix[i][j], такое обращение *matrix выдаст нам указатель на 1-ую строку матрицы (вобщем номер ячейки памяти)

Цитата Сообщение от zargandr Посмотреть сообщение
C:/text.txt
- слеш в другую сторону следует записать причём двойной иначе компилятор попытается скомпилировать такую связку \smb как один из зарезервированных символов и скорее всего выдаст нам предупреждение \smb - unknown character
Вобщем так пишем C:\\test.txt, при этом такая запись является абсолютным путём, думаю нам файл test.txt нужен в каталоге программы поэтому рекомендую относительный путь использовать
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
ofstream file ("text.txt");//text.txt будет в каталоге программы
Цитата Сообщение от zargandr Посмотреть сообщение
file.write (reinterpret_cast <char *> (&matrix),sizeof matrix);
впринципе можно и write использовать но С++ файловые потоки позволяют непосредственный ввод в них, так что используем это преимущество
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
file<<matrix[i][j]<<" ";
Надеюсь мои замечания вам пригодятся
0
Заблокирован
21.10.2011, 12:30 4
-=ЮрА=-, зуб даю что этот код ему кто-то написал. при чем он (автор программы) не лишен чувства юмора
0
Заблокирован
Автор FAQ
21.10.2011, 12:50 5
alkagolik, а с чего вы так решили, что человек не сам писал?

Не по теме:

Единсвенным моим предположением является что тип проекта CLI а не консоль

Цитата Сообщение от zargandr Посмотреть сообщение
int main(array<System::String ^> ^args)
(хотя я не спец в новых разновиднотях System и в С# встречал), а так на лицо явные попытки ТС, причём в не лишённые спысла, написать работоспособный алгоритм

0
0 / 0 / 0
Регистрация: 22.04.2011
Сообщений: 18
21.10.2011, 13:02  [ТС] 6
Юра, спасибо. Писал сам, используя учебник Павловской, чувство юмора хорошее, здесь им старался пренебречь)

Добавлено через 3 минуты
часто встает проблема в мелких ошибках , как например matrix[i,j] (это же из С#( ) , становится грустно из этого, но дух мой бодр и готов к новым знаниям
0
21.10.2011, 13:02
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2011, 13:02
Помогаю со студенческими работами здесь

Вывод матрицы в текстовый файл
Здравствуйте! Помогите, пожалуйста, красиво записать матрицу 2х2 в текстовый файл. Матрица...

Некорректный вывод матрицы в файл
Добрый день! Возникла такая проблема, во время работы программы при поиске максимального или...

Вывод матрицы в текстовый файл
День добрый, ребята. Пытаюсь сделать прототип матрицы смежности графа, но имею недостаточно знаний....

Неправильно работает вывод матрицы в файл
Программа должна возвести матрицу заданного размера в заданную степень. Степень и размерность...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Преобразование полей (элементов управления содержимым) в обычный текст
РоΜа 23.01.2025
Возникла необходимость преобразовать поля в текст (те, что на вкладке разработчик добавляются) . Помучившись родил следующее: Sub ПоляВТекст() Преобразует все поля в текст (даты, текст,. . .
Как проверить существование директории в скрипте Bash
bt_guru 23.01.2025
При разработке скриптов Bash одной из ключевых задач является корректная работа с файловой системой, где особое место занимает проверка существования директорий. Эта операция становится критически. . .
Как работают срезы (slice) в Python
bytestream 23.01.2025
Python предоставляет разработчикам мощный и гибкий инструмент для работы с последовательностями данных - срезы (slices). Эта функциональность позволяет извлекать, модифицировать и управлять. . .
Как удалить подмодуль (submodule) в Git
bytestream 23.01.2025
При работе с крупными проектами в системе контроля версий Git разработчики часто сталкиваются с необходимостью управления зависимостями и внешними компонентами. Подмодули (submodules) представляют. . .
В чем разница между @staticmethod и @classmethod в Python. Декораторы методов
bytestream 23.01.2025
В Python декораторы методов представляют собой мощный инструмент, позволяющий модифицировать поведение функций и методов без изменения их исходного кода. Эта возможность является одной из. . .
Как преобразовать InputStream в String в Java
bytestream 23.01.2025
В мире Java-разработки работа с потоками данных является одной из ключевых операций при создании современных приложений. InputStream, как фундаментальный класс для обработки входных потоков данных,. . .
Как обновить форк (ответвление) репозитория в Git
bytestream 23.01.2025
Одним из наиболее мощных инструментов Git для организации совместной работы является механизм форкинга репозиториев, который позволяет создавать независимые копии проектов для дальнейшей разработки. . . .
Как работает async/await в C#. Асинхронное программировани­е в .NET
bytestream 23.01.2025
Введение в асинхронное программирование Асинхронное программирование представляет собой важнейшую концепцию современной разработки программного обеспечения, особенно в контексте создания. . .
КуМир: полное руководство
bytestream 23.01.2025
Введение в КуМир: история создания и назначение КуМир (Комплект Учебных МИров) представляет собой образовательную среду программирования, которая была создана для обучения основам алгоритмизации и. . .
Что такое OLAP. Где и как использовать многомерный анализ данных
bytestream 23.01.2025
Введение в OLAP-технологии В современном мире бизнес-аналитика и обработка больших массивов данных играют ключевую роль в принятии стратегических решений. Организации накапливают огромные объемы. . .
MongoDB: что это, для чего нужна и как использовать
bytestream 23.01.2025
Введение в MongoDB: современная документоориентированная СУБД В современном мире разработки программного обеспечения выбор правильной системы управления базами данных является критически важным. . .
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru