Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94

Можно ли в С++ создать матрицу, строки которой имеют разный тип (например, 1-я строка - bool, 2-я - char)?

13.09.2016, 22:44. Показов 1958. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. У меня такой вот "тупой" вопрос. Можно ли в С++ создать матрицу например 2 на 8 где первая строка имеет тип bool а вторая тип char?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.09.2016, 22:44
Ответы с готовыми решениями:

Сформировать целочисленную матрицу, у которой все элементы 1-й строки имеют значение 10*i
Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера MхN у которой все элементы 1-й строки имеют значение...

Как можно создать матрицу, например 3х3 в коллекции?
Здравствуйте.Возник вопрос.Как можно создать матрицу,например 3х3 в коллекции?

Если в матрице есть одна строка, сумма элементов которой отрицательна, создать новую матрицу по правилу
Люди, кто-нибудь знает как задачку решить? Хотя бы на мысль подтолкните плизззз)) Составить программу, которая получает матрицу А...

12
 Аватар для Datebailo
1 / 5 / 6
Регистрация: 13.05.2016
Сообщений: 58
13.09.2016, 23:08
Теоритически - можно. Практически - надо думать.
Создаете два массива - один, типа bool, второй типа char, соединяете в один, и будет вам радость
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
14.09.2016, 08:47
Лучший ответ Сообщение было отмечено SamBars как решение

Решение

Объединить данные можно используя структуру
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct TwoType
{
    bool b[8];
   char c[8];
};
int main()
{
    TwoType tt;
    for(int i=0;i<8;i++)
   {
        tt.b[i]=true;
        tt.c[i]='a'+i;
   }
}
2
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
14.09.2016, 08:52
Сергей Сергеевич, открывающую скобку забыли в 9 строке(почти как компилятор сказал). Это я сказал, чтобы ТС не мучался годами, отыскивая ту самую скобку.
0
14.09.2016, 08:54

Не по теме:

Цитата Сообщение от DemolitionMan Посмотреть сообщение
почти как компилятор сказал
Его компилятор обращается к нему по имени отчеству? :D

0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
14.09.2016, 09:06
В С++ можно все, только зачем такие извращения?
0
 Аватар для qppq
145 / 89 / 23
Регистрация: 31.08.2016
Сообщений: 780
Записей в блоге: 2
14.09.2016, 09:07
Цитата Сообщение от zss Посмотреть сообщение
tt.c[i]='a'+i;
а можно вот так?
C++
1
tt.c[i]=i++;
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
14.09.2016, 09:17
Цитата Сообщение от Nishen Посмотреть сообщение
Его компилятор обращается к нему по имени отчеству?
Как-то очень живо представил себе это:
"Сергей Сергеич, голубчик, не соблаговолите ли поставить открывающую скобку в 9-й строке?"
2
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
14.09.2016, 11:54
Цитата Сообщение от qppq Посмотреть сообщение
а можно вот так?
А что этому может помешать?
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
14.09.2016, 12:18
Цитата Сообщение от gru74ik Посмотреть сообщение
Как-то очень живо представил себе это:
"Сергей Сергеич, голубчик, не соблаговолите ли поставить открывающую скобку в 9-й строке?"
- ну уж гомосятину не надо тут писать, я по-мужиковски, по-нормальному сказал, а то тут уже точку с запятой в коде MSVS2015 не могут найти. Вы палку перегибаете, палку не надо перегибать.
По теме: вот в этой строке:
C++
1
tt.c[i]='a'+i;
возможно придется добавить конкатенацию строк и перевод из целых в строковые переменные, т.е. возможно будет выглядеть так:
C++
1
tt.c[i]=strcat('a',itoa(i));
0
14.09.2016, 12:34

Не по теме:


Цитата Сообщение от DemolitionMan Посмотреть сообщение
- ну уж гомосятину не надо тут писать
DemolitionMan, это отсылка к классику русской литературы Михаилу Афанасьевичу Булгакову и его повести "Собачье сердце". А если быть точным, то к диалогу за столом между профессором Преображенским и доктором Борменталем. Этот приём называется "стилизация". Обращение "голубчик" было весьма распространено во второй половине XIX - первой половине ХХ веков и никакого отношения к, как Вы изволили выразиться, "гомосятине", не имеет.

DemolitionMan, Вы, голубчик, самообразованием занимайтесь, и за словами своими следите. А то, право, стыд какой-то, Булгакова не знать, и свои анальные фобии на других людей экстраполировать.

0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
15.09.2016, 02:53
А кстати, IDE вполне может быть вежлива с пользователем при сообщениях об ошибках - у нее для этого все есть
Миниатюры
Можно ли в С++ создать матрицу, строки которой имеют разный тип (например, 1-я строка - bool, 2-я - char)?  
2
Падаван С++
 Аватар для obivan
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
15.09.2016, 10:07
Цитата Сообщение от DemolitionMan Посмотреть сообщение
По теме: вот в этой строке:

C++
1
tt.c[i]='a'+i;
возможно придется добавить конкатенацию строк и перевод из целых в строковые переменные, т.е. возможно будет выглядеть так:

C++
1
tt.c[i]=strcat('a',itoa(i));

zss, имел ввиду тут смешение в ascii кодах при заполнении массива и результат будет abcdefhi и это будет строка, а в вашем случае программа хорошо если просто упадет, потому что вы в пытаетесь впихнуть в переменную чар строку, ошибка в другом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct TwoType
{
    bool b[8];
   char c[9];
};
int main()
{
    TwoType tt;
    for(int i=0;i<8;i++)
   {
        tt.b[i]=true;
        tt.c[i]='a'+i;
   }
    tt.c[8] = '\0';
}
Добавлено через 27 минут
Цитата Сообщение от qppq Посмотреть сообщение
а можно вот так?
можно но это не обычный инкремент, цель такого кода от zss была просто последовательно заполнить какими либо символами массив чар, и добавляя к переменной i, 'a' мы получаем что-то наподобие такого i + 97(это код символа а) и так как все последующие символы в алфавите расположены друг за другом то 97 + 1 = 98(это код символа b) и в индекс tt.c[1] занесется значение b, а если сделать как вы говорите то там будут какие-то зарезервированные символы в ascii кодах, но код zss нагляднее.

Добавлено через 2 минуты
P.S qppq, и да только сейчас понял вы же переменную цикла еще предложили инкрементировать, не стоит так делать, потому что в вашем случаем помимо всего заполнилось бы не 8 элементов, а 4
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2016, 10:07
Помогаю со студенческими работами здесь

Создать матрицу элементы которой являются строки
В предыдущем задании надо было создать матрицу N на M элементы которой целые числа. А вот теперь нужна матрица элементы которой строки. Вот...

Тип может быть равен числу, например char= 1?
Тип может быть равен числу, например char= 1? заранее спасибо.

Можно ли каким-то образом наследовать тип bool
Здраствуйте, можно ли каким то образом наследовать тип bool типо что бы 1 - man типо что бы 0 - woman что то в таком роде: class...

Сформировать матрицу, у которой элементы j-го столбца имеют значение 5j
Сформировать целочисленную матрицу размера N × M, у которой все элементы j-го столбца имеют значение 5 ∙ j (j = 1, 2, ... , M) ...

Можно ли сделать бесконечный цикл с while, используя тип bool?
... bool f; f=false; while(f=false) { ... ... ... if(....)//какое-то условие f=true;//цикл прерывается


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru