144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4

Как конвертировать одномерный массив в двумерный с использованием цикла?

03.02.2020, 00:44. Показов 2938. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В сети видел подобное но не сохранил ссылку, а теперь не могу вспомнить как попал на тот сайт.
Есть такой массив
int Masiv[10]/int Masiv[] нужно чтобы имя осталось такое а массив стал таким Masiv[10][2]/Masiv[][2], в общем не обязательно 2мерный может быть какой угодно ранг. Только не предлагайте классы (в них пока не разбираюсь), вектора(потому что в моей VS они не работают и в них я пока не разбираюсь) и контейнеры(в них я пока не разбираюсь). Можно функции и макросы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.02.2020, 00:44
Ответы с готовыми решениями:

Как конвертировать HashMap в двумерный массив?
может есть какие то красивые ( не лямбда ) функции в стандарте?

Дан двумерный массив, из него сделать одномерный. В одномерный массив сначала вписат четные строки потом нечетные
Здравствуйте,собственно задача в заголовке темы. никак не получается все это дело слит в одномерный массив,подскажите плз, как...

Двумерный массив. Заполнить и вывести двумерный массив БЕЗ использования цикла FOR
Заполнить ивывести двумерный массив БЕЗ использования цикла FOR очень срочно!!!

27
 Аватар для Recrut_rf
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
21.04.2020, 00:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от JeyCi Посмотреть сообщение
их определения всё равно надо писать там, где используете
Что за бред?
Цитата Сообщение от Nexi99 Посмотреть сообщение
и функции писал в разнобой и программа выстраивала дерево сама
нужно - чтобы было объявление (условно - прототип функции) и, соответствующее ему, определение (то есть само тело) функции.

Небольшой примерчик:
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
#include <iostream>
 
using namespace std;
 
void func1()
{
    cout << "func1()" << endl;
}
 
void func2();
 
int main()
{
    func1();
    func2();
    system("pause");
    return 0;   
}
 
 
void func2()
{
    cout << "func2()" << endl;
}
Добавлено через 24 минуты
Основное правило - функции должны быть объявлены до момента их вызова. Это, кстати касается и к примеру классов.
То есть компилятор должен знать, на что он ссылается. А вот на этапе линковки будет уже реальная подстановка адресов функций (то есть их тел)

для func1 в моём примере - объявление и определение по-сути совмещены вместе. Для func2 вначале имеем объявление (прототип функции), а уже потом определение (тело функции)
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
21.04.2020, 00:43  [ТС]
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Основное правило - функции должны быть объявлены до момента их вызова. Это, кстати касается и к примеру классов.
То есть компилятор должен знать, на что он ссылается. А вот на этапе линковки будет уже реальная подстановка адресов функций (то есть их тел)
Ну по логике да. Это как какой компилятор понимает. В некоторых даже глобальные переменные можно объявлять ниже контрольных функций и пашет. Ладно ребята если я найду то видео я отпишусь что там нужно делать, но сейчас нет возможности 30 часов видео пересматривать, не записал дурень. Да и в принципе чтение программы происходит сверху вниз мы же тоже книгу так читаем.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
21.04.2020, 06:01
Цитата Сообщение от JeyCi Посмотреть сообщение
их определения всё равно надо писать там, где используете, выше main()
да, слово не то подобрала
Цитата Сообщение от Recrut_rf Посмотреть сообщение
нужно - чтобы было объявление
а тело функции - это то, что потом обозвала реализацией...
p.s.
по примеру вашего void func2();
- так и объявляю над main(),
а всю функцию, которая у вас под main() - можно даже в др. cpp разместить - так и делаю...
0
 Аватар для Recrut_rf
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
21.04.2020, 11:03
Цитата Сообщение от Nexi99 Посмотреть сообщение
Это как какой компилятор понимает
Все плюсовые и сишные компиляторы так работают

Цитата Сообщение от Nexi99 Посмотреть сообщение
В некоторых даже глобальные переменные можно объявлять ниже контрольных функций и пашет
Что такое - контрольная функция? Впервые слышу.

Nexi99, дополненный пример, чтоб понятно было - как надо делать:
файл Source1.h - содержит объявление функции func3():
C++
1
2
3
#include <iostream>
 
void func3();
Source1.cpp - содержит определение func3():
C++
1
2
3
4
5
6
7
#include "Source1.h"
 
 
    void func3()
    {
        std::cout << "func3 from Source1\n";
    }
файл main.cpp - содержит главную функцию main() и функции func1() и func2():

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
#include "Source1.h"
 
using namespace std;
 
void func1()
{
    cout << "func1()" << endl;
}
 
void func2();
 
int main()
{
    func1();
    func2();
    
    func3();
 
    system("pause");
    return 0;   
}
 
 
void func2()
{
    cout << "func2()" << endl;
}
Теперь, когда подключаем файл Source1.h (#include "Source1.h") имеем доступ к функции func3(). Для чего так делается - для раздельной компиляции. В заголовочные файлы выносят интерфейс (объявления) с которыми потом будут работать. Вся реализация делается в .срр файлах. Да её вообще может не быть как таковой в виде исходника. Просто будет файл библиотеки .lib или .dll и соответствующий заголовочный файл к нему. То есть файл с исходниками уже будет скомпилирован. Но чтобы работать с ним - нужны соответствующие объявления того, что в нем определено - эта инфа и хранится в заголовочном файле. Подключаем заголовочный файл к своей проге - получаем доступ к тому, что есть в соответствующей библиотеке (dll или lib, файлы с исходниками (.срр) тоже называют библиотекой)
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
21.04.2020, 12:31
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Просто будет файл библиотеки .lib или .dll и соответствующий заголовочный файл к нему.
То есть файл с исходниками уже будет скомпилирован.
- для Windows;
для Linux - это будут скомпилированные .a или .so - и тоже заголовочники, которые надо подключить к main()...
- дополнила для полноты картины
p.s.
что интересно - для Ultimate++ IDE - все либы именно в линуксном виде... и работает... кроссплатформенно похоже... дополнила просто для инфо, где либы находятся - для линкера

Добавлено через 6 минут
конечно, до компиляции - всё в с/cpp
0
 Аватар для Recrut_rf
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
21.04.2020, 12:44
Цитата Сообщение от JeyCi Посмотреть сообщение
все либы именно в линуксном виде
Наверное, всё таки не все, а те, которые собирают для Linux. При установки студии можно выбрать с какими языками и системами она работать будет. Поэтому, предполагаю, что если не устанавливать возможность сборки под Linux, то и файлов вида .a или .so в ней не будет. Но абсолютно в этом не уверен.

А вообще - в плюсах кросплатформенность - это когда один и тот же код собирается на одной и той же IDE под разные системы. Ничего более. В отличие, скажем от Java - где просто собираем один раз код - и он обязан работать на всех системах, где есть соответствующая виртуальная машина
0
18 / 14 / 4
Регистрация: 02.04.2017
Сообщений: 125
21.04.2020, 14:50
Прошу прощения за грубость, но вам бы узнать что такое "конспект". Обучение бесполезно без закрепления на практике. Если вы сразу не закрепляете делом что увидели в уроке, что и как там было сделано - пишите заметки,конспектируйте, сохраняйте видео в котором это видели
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
24.04.2020, 08:05
Цитата Сообщение от Recrut_rf Посмотреть сообщение
В отличие, скажем от Java - где просто собираем один раз код - и он обязан работать на всех системах, где есть соответствующая виртуальная машина
так может его и собирали на линуксе... в lib'ах IDE не вижу windows расширений, только линуксные... но есть много .cpp - wrappers для разного рода функционала... может, и в этом фишка для компилятора... пока не вникаю, просто отметила... - компилировала static_all -- в out выбрасываются .a ... динамические библиотеки ещё не пробовала...
НО брать dll для проекта пока сомневаюсь... - лучше уж совсем исходники нужной либы... вобщем времени нет оттестить всё -- ... можно ли подключить dll в U++ - посмотрю потом когда-нибудь на досуге... но всё может быть, что самой придётся делать .so из исходников для U++... ИМХО

Добавлено через 18 минут
Цитата Сообщение от Recrut_rf Посмотреть сообщение
кросплатформенность - это когда один и тот же код собирается на одной и той же IDE под разные системы.
так его разработчики его и собрали для windows и для Linux - чтобы был выбор у юзеров... а вообще, там вроде open-source самоё IDE - можно и самим собирать... вобщем, не буду перепечатывать их сайт - кому надо посмотрят...
собрала all_static MyProj (на win в u++ ide) - и то радует...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2020, 08:05

Как превратить двумерный массив в одномерный?
Здравствуйте! Прошу помощи. Не знаю, как исправить код ниже для Эксель, чтобы одномерный массив полностью показывал элементы двумерного. ...

Как переконвертировать двумерный массив в одномерный
Здравствуйте! Подскажие пожалуйста, как из двумерного массива mas получить одномерный к примеру x

Как преобразовать одномерный массив в двумерный?
Есть масcив типа ABCDEFG нужно чтобы каждый пятый элемент начинался с новой строки ABCDE FG Как такое возможно сделать?

Конвертировать одномерный массив в двухмерный
Нужно свернуть массив обратно в двухмерный, а пустые ячейки заполнить нулями int array = new int; int m1 =...

Конвертировать одномерный массив в ступенчатый
Дан одномерный массив заполненный случайными числами, конвертировать его в ступенчатый массив


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

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

Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru