Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 338
#1

Возможно, ли создать какой либо массив без определение его типа? - C++

22.05.2014, 13:18. Просмотров 237. Ответов 4
Метки нет (Все метки)

Помогите понят задание. Не могу понять что имеется введу.

Задача:
Пишите программу так чтобы она отображала содержимое массива без использование определение типа указателя во внешнем цикле.

Я не могу понят, каким образом можно отображать содержание массива без определение типа указателя. Указатель на нулевой элемент и есть название массива. Как вообще возможно создать какой либо массив без определение его типа? Может я не так понял задачу. Напишу все как есть в книге.

C++
1
2
3
4
5
typedef int int_array[4];
int_array *ip = ia;
for(int_array *p = ia; p != ia + 3; ++p)
for(int *q = *p; q != *p +4; ++q)
cout <<*q<<endl;
Эту программу поазал как пример в теле текста (стр 167 Липпман)
Задача: Перепишите программу так, чтобы она отобрaжала содержимое массива ia без использование определение типа для указателя во внешнем цикле.

Может автор имеет введу определение типа int_array?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2014, 13:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возможно, ли создать какой либо массив без определение его типа? (C++):

Возможно ли через какой-либо скрипт(Command)или Run выполнить заготовленные мною операции? - C++
Начал по немногу копать C++... Вопрос: Возможно ли через какой либо скрипт(Command)или Run выполнить заготовленные мною операции. ...

Рассчитать число столбцов в которых какой либо эл. делится без остатка на другой - C++
Рассчитать число столбцов в которых какой либо эл. делится без остатка на другой. Не пойму в чём проблема. Считает не правильно...( ...

Определение типа процессора, в какой версии запускать лучше? - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;memory.h&gt; extern void...

Проверка существования трехугольника с заданными сторонами, и определение его типа - C++
В консольном режиме создать программу для проверки существования трехугольника с задаными сторонами. Если трехугольник существует,указать...

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

Требуется определение типа или пространства имен, либо признак конца файла - C#
using System; using System.Windows.Forms; using WindowsFormsApplication1; namespace WindowsFormsApplication1 { public...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
22.05.2014, 13:52 #2
Цитата Сообщение от Altair42 Посмотреть сообщение
Может автор имеет введу определение типа int_array?
Да. Именно так. Убрать typedef и получить эквивалентный код.
0
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214
22.05.2014, 13:53 #3
Скорее всего имеется в виду, что надо объявлять указатель типа void, а потом уже приводить его к нужному типу.
Что-то типа
C++
1
2
3
4
5
6
7
8
typedef int int_array[4];
int_array *ip = ia;
for(void *p = ia; p != ia + 3;)
{
   for(int *q = *p; q != *p +4; ++q)
      cout <<*q<<endl;
   (dynamic_cast<int_array*>(p))++;
}
0
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 338
22.05.2014, 13:59  [ТС] #4
Керра, Tulosba, кому теперь верит?

Добавлено через 43 секунды
Первый вариант выгладит более норм
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
22.05.2014, 14:38 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Altair42 Посмотреть сообщение
без использование определение типа для указателя во внешнем цикле.
внешний цикл видим?
C++
1
for(int_array *p = ia; p != ia + 3; ++p)
тип указателя видим?
C++
1
int_array *p
Ещё вопросы?

Решение под спойлером, если что
Кликните здесь для просмотра всего текста
C++
1
for( int (*p)[4] = ia; p != ia + 3; ++p)


Не по теме:

Цитата Сообщение от Керра Посмотреть сообщение
C++
1
(dynamic_cast<int_array*>(p))
dynamic_cast из void* ? однако. Вообще-то dynamic_cast только для полиморфных типов предназначен.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2014, 14:38
Привет! Вот еще темы с ответами:

Возможно ли настроить IIS(какой-либо) для поддержки нескольких доменов 2-го уровня на одном порту? - Web
Возможно ли настроить IIS(какой-либо) для поддержки нескольких доменов 2-го уровня на одном порту? Че-т по инету полазил - по ходу нет, но...

Класс Bitmap - Требуется определение типа или пространства имен, либо признак конца - C#
использую пример с офсайта https://msdn.microsoft.com/ru-ru/library/system.drawing.bitmap(v=vs.110).aspx но выбрасывает ошибку ... вставлял...

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

Не компилируется приложение. Требуется определение типа или пространства имен, либо признак конца файла - C#
Здравствуйте. При компиляции windows forms приложения, пишет: Требуется определение типа или пространства имен, либо признак конца...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.05.2014, 14:38
Ответ Создать тему
Опции темы

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