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

Матрица в виде одномерного динамического массива

04.11.2020, 19:35. Показов 2182. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем , помогите написать код чтобы выводил матрицу в виде одномерного динамического массива , уже всю голову себе сломала как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2020, 19:35
Ответы с готовыми решениями:

Квадратная матрица в виде одномерного массива
Вообщем дали задание не как не пойму что нужно сделать.

Объясните пожалуйста (Матрица задана в виде одномерного массива. Восстановить исходную)
# include<stdio.h> # include<conio.h> # include<math.h> # include<stdlib.h> # define k 5 # define m ((1+k)*k)/2 void main() {...

Квадратная матрица, симметричная относительно главной диагонали задана верхним треугольником в виде одномерного массива
квадратная матрица симметричная относительно главной диагонали задана верхним треугольником в виде одномерного массива . Восстановить...

4
525 / 487 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
04.11.2020, 20:02 2
Не понятно, нужен массив или просто вывод в консоль?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int a[3][3] = {
        1, 2, 3,
        4, 5, 6,
        7, 8, 9
    };
    int size = 3 * 3;
    int* n = new int[sizeof(int) * size];
    memcpy(n, a, sizeof(int) * size);
    for (int i = 0; i < size; i++)
        cout << n[i] << " ";
}
0
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
04.11.2020, 20:49 3
Цитата Сообщение от llnv_s Посмотреть сообщение
помогите написать код чтобы выводил матрицу в виде одномерного динамического массива
Может хранил, а не выводил?
0
0 / 0 / 0
Регистрация: 20.02.2020
Сообщений: 8
05.11.2020, 08:25  [ТС] 4
Хранил
0
 Аватар для Annemesski
2633 / 1300 / 473
Регистрация: 08.11.2016
Сообщений: 3,591
06.11.2020, 09:57 5
llnv_s, пересчитывайте двойной индекс двумерного массива в одинарный индекс одномерного по правилу: i1i = i * m + j, где i1i - индекс одномерного массива, i - индекс строки двумерного массива, m - количество элементов в строке двумерного массива (количество столбцов), а j - индекс столбца двумерного массива.
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
#include <iostream>
 
int main()
{
    int n, m;
    std::cin >> n >> m;
    int **arr2d = new int*[n];
    int *arr1d = new int[n * m];
    for (int i = 0; i < n; ++i)
    {
        arr2d[i] = new int[m];
        for (int j = 0; j < m; ++j)
        {
            arr2d[i][j] = i * m + j;
            arr1d[i * m + j] = arr[i][j];
        }
    }
 
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < m; ++j)
            std::cout << arr2d[i][j] << "  ";
        std::cout << std::endl;
    }
    std::cout << std::endl;
 
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < m; ++j)
        {
            ++arr1d[i * m + j];
            std::cout << arr1d[i * m + j] << "  ";
        }
        std::cout << std::endl;
    }
    std::cout << std::endl;
 
    for (int i = 0; i < n * m; ++i)
        std::cout << arr1d[i] << "  ";
    std::cout << std::endl << std::endl;
 
    delete[] arr1d;
 
    for (int i = 0; i < n; ++i)
        delete[] arr2d[i];
    delete[] arr2d;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2020, 09:57
Помогаю со студенческими работами здесь

Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива.Восстановить исходную матрицу
Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива. Восстановить...

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из отрицательных элементов двумерного...

Сортировка динамического одномерного массива
void Sort(int *l, int n) { for (*(l + 1) = 0; *(l + 1)&lt;n - 1; *(l + 1)++) for (*(l + 2) = *(l + 1) + 1; *(l + 2)&lt;n; *(l+1)++) ...

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

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


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru