1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
1

Как вывести массив в файл?

25.09.2019, 21:08. Показов 1882. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание такое: С применением функций определить двумерный массив, заполнить его
случайными числами и найти его минимальный элемент. Результаты выполнения
задания выдать на экран и в файл. Для каждого действия должна быть описана своя функция.
- функция заполнения массива
- функция печати массива на экран
- функция печати массива в файл
- функция нахождения минимального элемента
С заполнением массива, печатью на экран и нахождением минимального элемента у меня проблем нет, а вот вывести все это в файл не получается правильно, выводит только массив, а минимальный элемент нет(. Прошу, помогите пожалуйста, очень срочно!!

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
#include <iostream>
#include <fstream>
using namespace std;
 
void init(int** a, int line, int column);
void out(int** a, int line, int column);
void fout(int** a, int line, int column);
int min(int** a, int line, int column);
 
void main()
{
    setlocale(LC_ALL, "rus");
    
    int size_l, size_c;
    cout << "Введите количество строк:";
    cin >> size_l;
    cout << "Введите количество столбцов:";
    cin >> size_c;
    //инициализация двумерного массива
    int** mas = new int* [size_l];
    for (int i = 0; i < size_l; i++)
        mas[i] = new int[size_c];
 
    init(mas, size_l, size_c);//вызов функции заполнения массива
    out(mas, size_l, size_c);//вызов функции вывода массива на экран
    fout(mas, size_l, size_c);//вызов функции вывода массива в файл
 
    cout << "Минимальное число в массиве: " << min(mas, size_l, size_c) << "\n";
    F << "Минимальное число в массиве: " << min(mas, size_l, size_c) << "\n";
 
    //удаление двумерного массива
    for (int i = 0; i < size_l; i++)
        delete[]mas[i];
    delete[] mas;
}
 
void init(int** a, int line, int column)
{
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            a[i][j] = rand() % 19 - 9;
        }
    }
}
 
void out(int** a, int line, int column)
{
    cout << "\n";
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            cout << a[i][j] << "\t";
        }
        cout << "\n";
    }
    cout << "\n";
}
 
void fout(int** a, int line, int column)
{
    fstream F;
    F.open("E:\\!!СЕКРЕТНО!!\\Документы\\Институт\\3 семестр\\С++\\lab2.txt", ios::out);
 
    F << "\n";
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            F << a[i][j] << "\t";
        }
        F << "\n";
    }
    F << "\n";
}
 
int min(int** a, int line, int column)
{
    int d = a[0][0];
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            if (d > a[i][j])
                d = a[i][j];
        }
    }
    return d;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2019, 21:08
Ответы с готовыми решениями:

Как вывести массив в файл?
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { int n;...

Как вывести массив в файл?
Помогите пожалуйста, нужно с применением функций определить двумерный массив, заполнить его...

Как вывести в текстовый файл массив integer?
К сожалению, я только начинаю разбираться с Visual Basic (да и вообще я в основном имею дело со...

Считать массив строк из файла и вывести отсортированный по алфавиту массив в другой файл
Считать массив строк из файла и вывести отсортированный по алфавиту массив в другой файл. Если...

5
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.09.2019, 21:13 2
Что-то я здесь совсем не вижу кода для вывода минимума в файла. В смысле, даже попыток сделать.
0
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
25.09.2019, 21:17  [ТС] 3
Vourhey, а что нужно для этого сделать? Может я чего-то не понимаю(
0
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.09.2019, 21:20 4
В коде есть функция fout, которая работает с потоком и выводит в него массив. Вот полностью аналогичный код с потоком, но для вывода любых других данных написать. В удобное для Вас место.
0
136 / 76 / 60
Регистрация: 14.09.2019
Сообщений: 218
25.09.2019, 21:28 5
Лучший ответ Сообщение было отмечено Лена Есеева как решение

Решение

Лена Есеева, попробуйте это
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
#include <iostream>
#include <fstream>
using namespace std;
 
void init(int** a, int line, int column);
void out(int** a, int line, int column);
void fout(int** a, int line, int column, int min);
int min(int** a, int line, int column);
 
 
void main()
{
    setlocale(LC_ALL, "rus");
 
    int size_l, size_c;
    cout << "Введите количество строк:";
    cin >> size_l;
    cout << "Введите количество столбцов:";
    cin >> size_c;
    //инициализация двумерного массива
    int** mas = new int*[size_l];
    for (int i = 0; i < size_l; i++)
        mas[i] = new int[size_c];
 
    init(mas, size_l, size_c);//вызов функции заполнения массива
    out(mas, size_l, size_c);//вызов функции вывода массива на экран
    fout(mas, size_l, size_c, min(mas, size_l, size_c));//вызов функции вывода массива в файл
 
    cout << "Минимальное число в массиве: " << min(mas, size_l, size_c) << "\n";
 
    //удаление двумерного массива
    for (int i = 0; i < size_l; i++)
        delete[]mas[i];
    delete[] mas;
}
 
void init(int** a, int line, int column)
{
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            a[i][j] = rand() % 19 - 9;
        }
    }
}
 
void out(int** a, int line, int column)
{
    cout << "\n";
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            cout << a[i][j] << "\t";
        }
        cout << "\n";
    }
    cout << "\n";
}
 
void fout(int** a, int line, int column, int min)
{
    fstream F;
    F.open("E:\\!!СЕКРЕТНО!!\\Документы\\Институт\\3 семестр\\С++\\lab2.txt", ios::out);
 
    F << "\n";
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            F << a[i][j] << "\t";
        }
        F << "\n";
    }
    F << "\n";
    F << "Минимальное число в массиве: " << min << "\n";
}
 
int min(int** a, int line, int column)
{
    int d = a[0][0];
    for (int i = 0; i < line; i++)
    {
        for (int j = 0; j < column; j++)
        {
            if (d > a[i][j])
                d = a[i][j];
        }
    }
    return d;
}
1
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
25.09.2019, 21:38  [ТС] 6
ibse, все работает , спасибо большое, очень помогли))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2019, 21:38
Помогаю со студенческими работами здесь

Создать файл произвольных символов. Вывести в один файл цифры, содержащиеся в файле, а в другой файл символы, сохранив первоначальный порядок. Вывести
Создать файл произвольных символов. Вывести в один файл цифры, содержащиеся в файле, а в другой...

Вывести массив в файл
Здрасти. У меня есть процедура ShowMatrix(DeliveryMatrix,max_row,max_col); , которая выводит массив...

Вывести массив в файл
Надо вывести массив в файл. В чем ошибка подскажите. Ничего не поучается. Знаю что в кавычках текст...

Вывести числовой массив в файл
Вот есть такой код (взял из форума чисто для примера), и мне нужно вывести массив 'С' в файл. Как...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru