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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ang_07
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 47
#1

Запись 2мерного масива в txt - C++

07.01.2011, 12:49. Просмотров 631. Ответов 12
Метки нет (Все метки)

у меня есть 2 мерный масив элементов типа инт и мне надо записать его в файл в виде матрици

к примеру:
1 2 3
4 5 6
7 8 9
вот так вот
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2011, 12:49     Запись 2мерного масива в txt
Посмотрите здесь:

Запись масива int-ов в бинарный файл - C++
Задание звучит так: Напишите функцию bool writeIntArray(const int arr, int size, FILE *fp), которая записывает содержимое массива int'ов...

Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива - C++
Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива.

Заполнение масива по формуле и нахождение наименьшего положительного элемента масива - C++
Итак условие задачи: Написать программу для заполнения масива з 20 элементов по формуле a_i=\left(-1 \right)^i\,\frac{i^2}{i-1} и...

Запись в файл txt - C++
studBeg = GetStud(hDlg); out.open("output.txt", ios_base::app); out << studBeg.fam << studBeg.imia <<...

Запись переменной в .txt - C++
//Lab1 #1 #include "stdafx.h" #include "iostream" #include "stdio.h" int main() { float a, b, c, v; printf("Rewenie...

Запись в .txt кириллицу - C++
Есть файл.В него идет запись.Открываю файл там кодировка вместо нужного мне текста.Как настроить кириллицу? setlocale(LC_CTYPE, "");...

Чтение/запись из/в файл .txt - C++
Имеется файл названный stses формата txt, и вот его содержание: 3 Loyed 4 Greable 7 Otto 2 в методичке приведен пример...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.01.2011, 12:57     Запись 2мерного масива в txt #2
Ang_07,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
 
int main()
{
    int matr[3][3] =
    {
        {1, 2 ,3},
        {4, 5, 6},
        {7, 8, 9}
    };
 
    std::ofstream ofs("test.txt");
    for(size_t i = 0; i < 3; ++i)
    {
        for(size_t j = 0; j < 3; ++j)
            ofs << matr[i][j] << ' ';
        ofs << '\n';
    }
    return 0;
}
Ang_07
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 47
07.01.2011, 13:02  [ТС]     Запись 2мерного масива в txt #3
создался лишь пустой текстовик (

Добавлено через 47 секунд
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <fstream>
using namespace std;
 
void main()
{
    setlocale (LC_ALL, "Russian");
    int *m,**arr,n,k,f=0;
    cout<<"Введите количество строк,столбцов"<<endl;
    cin>>n;
    cin>>k;
    m=new int [n*k];
    arr=new int *[n];
    for(int i__1=0;i__1<n;i__1++)
        arr[i__1]=new int[k];
        //цыкл ввода матрицы
        for(int i=0;i<n;i++)
                for(int j=0;j<k;j++)
                {
                        cout<<"Введите элемент матрици М["<<i+1<<"]["<<j+1<<"]"<<endl;
                        cin>>arr[i][j];
                }
        //переписование в одноменрый масив
        for(int i=0;i<n;i++)
                for(int j=0;j<k;j++)
                        {
                        m[f]=arr[i][j];
                        f++;
                        }
        //сортировка по возростанию
         int trash = 0,count=n*k; 
 for (int i=0;i<count;i++)
  for (int j=0;j<count-i-1;j++) 
   if (m[j] > m[j+1])
    {
     trash=m[j]; 
     m[j]=m[j+1];
     m[j+1]=trash;
    }
   //вывод отсортированого одномерного масива
         for(int i=0;i<count;i++)
                 cout<<m[i]<<",";
                 cout<<endl;
        //
                                 f=0;
int n_i=n, n_j=k, ii=0, jj=0;
while(f<count)
{
        for(int j=jj; j<n_j; j++)
                arr[ii][j]=m[f++];
        ii++;
        for(int i=ii; i<n_i; i++)
                arr[i][n_j-1]=m[f++];
        n_j--;
        for(int j=n_j-1; j>=jj; j--)
                arr[n_i-1][j]=m[f++];
        n_i--;
        for(int i=n_i-1; i>=ii; i--)
                arr[i][jj]=m[f++];
        jj++;
}
cout<<endl<<endl;
for(int i=0; i<n; i++)
{
        for(int j=0; j<k; j++)
                cout<<arr[i][j]<<" ";
        cout<<endl;
}
 
    std::ofstream ofs("test.txt");
    for(size_t i = 0; i < 3; ++i)
    {
        for(size_t j = 0; j < 3; ++j)
            ofs << arr[i][j] << ' ';
        ofs << '\n';
    }
 
_getch();
}
вот в этой проге я вставил код ну тот что ты дал, а он не робит(
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
07.01.2011, 13:31     Запись 2мерного масива в txt #4
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
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <fstream>
using namespace std;
 
void main()
{
    setlocale (LC_ALL, "Russian");
    int *m,**arr,n,k,f=0;
    cout<<"Введите количество строк,столбцов"<<endl;
    cin>>n;
    cin>>k;
    m=new int [n*k];
    arr=new int *[n];
    for(int i__1=0;i__1<n;i__1++)
        arr[i__1]=new int[k];
    //цыкл ввода матрицы
    for(int i = 0; i < n; i++)
        for(int j = 0; j < k; j++)
        {
            cout << "Введите элемент матрици М[" << i + 1 << "][" << j + 1 << "]\n";
            cin >> arr[i][j];
        }
        //переписование в одноменрый масив
        for(int i=0;i<n;i++)
            for(int j=0;j<k;j++)
            {
                m[f]=arr[i][j];
                f++;
            }
        //сортировка по возростанию
        int trash = 0,count=n*k; 
        for (int i = 0; i < count; i++)
            for (int j = 0; j < count - i - 1; j++) 
                if (m[j] > m[j+1])
                {
                    trash = m[j]; 
                    m[j] = m[j + 1];
                    m[j + 1] = trash;
                }
        //вывод отсортированого одномерного масива
        for(int i = 0; i < count; i++)
            cout << m[i] << ", ";
        cout << endl;
        //
        f=0;
        int n_i=n, n_j=k, ii=0, jj=0;
        while(f<count)
        {
            for(int j=jj; j<n_j; j++)
                arr[ii][j]=m[f++];
            ii++;
            for(int i=ii; i<n_i; i++)
                arr[i][n_j-1]=m[f++];
            n_j--;
            for(int j=n_j-1; j>=jj; j--)
                arr[n_i-1][j]=m[f++];
            n_i--;
            for(int i=n_i-1; i>=ii; i--)
                arr[i][jj]=m[f++];
            jj++;
        }
        cout << endl << endl;
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<k; j++)
                cout<<arr[i][j]<<" ";
            cout<<endl;
        }
 
        std::fstream ofs("test.txt");
        for(size_t i = 0; i < 3; ++i)
        {
            for(size_t j = 0; j < 3; ++j)
                ofs << arr[i][j] << ' ';
            ofs << '\n';
        }
        _getch();
}
надо всего лишь вместо ofstream написать fstream
но зато у тебя не работает составление матрицы спиралькой)
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.01.2011, 13:36     Запись 2мерного масива в txt #5
Цитата Сообщение от sandye51 Посмотреть сообщение
надо всего лишь вместо ofstream написать fstream
Смысл ?
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
07.01.2011, 13:37     Запись 2мерного масива в txt #6
тогда все работает
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.01.2011, 13:45     Запись 2мерного масива в txt #7
sandye51, У меня и так все работает(см. скрин) и я уверен что проблема не в той одной букве.
Миниатюры
Запись 2мерного масива в txt  
apachan
13 / 13 / 2
Регистрация: 07.12.2010
Сообщений: 127
07.01.2011, 13:47     Запись 2мерного масива в txt #8
asics,

Не по теме:

что это за компилятор такой?

sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
07.01.2011, 13:49     Запись 2мерного масива в txt #9
asics, согласен, но в моей VS 2010 тоже такая фишка не прокатила. Скорее всего надо еще какие-нибдуь флаги из ios:: надо добавить
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.01.2011, 13:56     Запись 2мерного масива в txt #10
apachan, Компилятор GCC, IDE - Code::Blocks
Ang_07
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 47
07.01.2011, 14:03  [ТС]     Запись 2мерного масива в txt #11
у меня Visual 10

Добавлено через 3 минуты
всё работает всем спасибо
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
07.01.2011, 14:03     Запись 2мерного масива в txt #12
"test.txt"
Путь к файлу надо указывать.
допустим "C:\\test.txt"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2011, 14:14     Запись 2мерного масива в txt
Еще ссылки по теме:

Запись данных в txt колонками - C++
Доброго времени суток! Подскажите как создать ТХТ файл в котором результат расчета функции записывается в колонки например А*В=Х ...

Зависает запись в txt - файл - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include &lt;fstream&gt; #include...

Запись данных в файл txt - C++
записываю через for(int i=0;i&lt;l;i++) f&lt;&lt;a.fio&lt;&lt;&quot; &quot;&lt;&lt;a.nomer&lt;&lt;&quot; &quot;&lt;&lt;a.inf&lt;&lt;&quot; &quot;&lt;&lt;a.inmov&lt;&lt;&quot; &quot;&lt;&lt;a.math&lt;&lt;&quot; &quot;&lt;&lt;a.fiz&lt;&lt;endl; Если...

Запись текста в файл txt - C++
Здравствуйте , подскажите как реализовать запись в файл, у меня что то не получается har name; puts(&quot;Введите термин:&quot;); ...

Запись строк в разные .txt файлы - C++
Доброго времени суток! Очень хочу сделать запись строк в разные .txt файлы. Попытаюсь объяснить подробнее: Заполняем 1-ый массив...


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

Или воспользуйтесь поиском по форуму:
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
07.01.2011, 14:14     Запись 2мерного масива в txt #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Genius Ignat, как бэ если файл лежит в директории программы, то неполное имя тоже гуд
Yandex
Объявления
07.01.2011, 14:14     Запись 2мерного масива в txt
Ответ Создать тему
Опции темы

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