Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 21.05.2017
Сообщений: 18
1

Сформировать одномерный массив из элементов матрицы, расположенных над главной диагональю

24.05.2018, 16:31. Просмотров 1009. Ответов 1
Метки нет (Все метки)

Дан двумерный массив размером nxn. Сформировать одномерный массив из элементов заданного массива, расположенных над главной диагональю.
Для решения необходимо в программе производить чтение входных данных из файла, а результаты работы программы записывать в файл. В программе для решения поставленной задачи необходимо использовать динамическое выделение памяти, решение небольших подзадач реализовать в виде функций.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2018, 16:31
Ответы с готовыми решениями:

Сформировать одномерный массив из элементов заданного массива, расположенных над главной диагональю
Помогите пожалуйста с кодом. Дан двумерный массив размером nxn. Сформировать одномерный...

Сформировать одномерный массив из элементов двумерного массива, расположенных над главной диагональю
Ребята помогите пожалуйста с задачей, прям выручите, Условие такое: Дан двумерный массив размером...

Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над главной диагональю.
помогите решить=)Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов...

Сформировать одномерный массив из элементов, стоящих над главной диагональю матрицы K(m,m). Найти сумму элементов этого массива.
Сформировать одномерный массив из элементов, стоящих над главной диагональю матрицы K(m,m). Найти...

1
1448 / 915 / 806
Регистрация: 30.04.2016
Сообщений: 3,092
29.06.2018, 23:47 2
Лучший ответ Сообщение было отмечено breezeblocks_ как решение

Решение

breezeblocks_, здравствуйте! Вот решение:

Пример входных данных (файл input.txt):

C++
1
2
3
4
5
6
5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
Выходные данные (файл output.txt):

C++
1
2 3 4 5 4 5 6 6 7 8
Код программы:

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
#include <bits/stdc++.h>
 
    using namespace std;
 
void readMatrixFromFile(int** a, int n) { //Функция чтения матрицы из файла input.txt
    ifstream fin("input.txt");
    fin.ignore();
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            fin >> a[i][j];
        }
    }
    fin.close();
}
 
void copyFromMatrixIntoArray(int** a, int* arr, int n) { //Функция записи элементов выше главной диагонали в массив
    int k = 0;
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            arr[k++] = a[i][j];
        }
    }
}
 
void printArray(int* arr, int n) { //Функция вывода искомого массива в файл output.txt
    ofstream fout("output.txt");
    for (int i = 0; i < n * (n - 1) / 2; i++) {
        fout << arr[i] << " ";
    }
    fout.close();
}
 
int main() {
    ifstream fin("input.txt");
    if (fin.good()) {
        int n;
        fin >> n;
        int** a = new int*[n];
        for (int i = 0; i < n; i++) {
            a[i] = new int[n];
        }
        int* arr = new int[n*(n-1)/2];
        readMatrixFromFile(a, n);
        copyFromMatrixIntoArray(a, arr, n);
        printArray(arr, n);
        for (int i = 0; i < n; i++) {
            delete [] a[i];
        }
        delete [] a;
        delete [] arr;
        fin.close();
    } else {
        cout << "No file input.txt found!\n";
    }
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2018, 23:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти наибольший элемент среди элементов матрицы, расположенных над главной диагональю и под боковой диагональю
Нужно написать код на С++,обращаюсь к вам за помощью) Найти наибольший элемент среди элементов...

Сформировать одномерный массив из значений элементов матрицы, расположенных на главной диагонали
Дана матрица C(N,N). Сформировать одномерный массив из значений элементов матрицы, расположенных на...

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

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


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

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

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