Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4

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

03.02.2020, 00:44. Показов 2917. Ответов 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,474
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,838
Записей в блоге: 4
21.04.2020, 00:43  [ТС]
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Основное правило - функции должны быть объявлены до момента их вызова. Это, кстати касается и к примеру классов.
То есть компилятор должен знать, на что он ссылается. А вот на этапе линковки будет уже реальная подстановка адресов функций (то есть их тел)
Ну по логике да. Это как какой компилятор понимает. В некоторых даже глобальные переменные можно объявлять ниже контрольных функций и пашет. Ладно ребята если я найду то видео я отпишусь что там нужно делать, но сейчас нет возможности 30 часов видео пересматривать, не записал дурень. Да и в принципе чтение программы происходит сверху вниз мы же тоже книгу так читаем.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,547
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,474
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,547
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,474
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,547
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
Ответ Создать тему
Новые блоги и статьи
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru