Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Быстрый ответ] Я выполнил задание. Где ошибки? 
:(
    Опции темы
Tokagero
Дата 9.1.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 25.10.2006

Репутация: нет
Всего: нет



Объявить массив muw из 7 строк как двумерный символьный массив и массив строк mu как массив литерных указателей без указания количества элементов; инициализировать muw и mu значениями “а”, “бб”, “ввв”, “г”, “ддд”.
Проиллюстрировать размещение в памяти массива muw . Определить количество байтов, которое занимают массив muw.

Я ответил так:

char muw[7][4] = {{"а"}, {"бб"}, {''ввв''}, {''г''}, {''ддд''}};
char *mu[] = {{"а"}, {"бб"}, {''ввв''}, {''г''}, {''ддд''}};


char muw[7][4] = {{"а"}, {"бб"}, {''ввв''}, {''г''}, {''ддд''}};
muw[0] [ ] = [a][\0][][]
muw[1] [ ] = [б][б][\0][]
muw[2] [ ] = [в][в][в][\0]
muw[3] [ ] = [г][\0][][]
muw[4] [ ] = [д][д][д][\0]
muw[5] [ ] = [\0][][][]
muw[6] [ ] = [\0][][][]
42 байт

Сказали неправильно все. Где ошибки?
PM MAIL   Вверх
Dmi3ev
Дата 9.1.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Код

//---------------------------------------------------------------------------

#include <iostream>
using namespace std;
//---------------------------------------------------------------------------


int main()
{
char s[7][5]={{"a"},
            {"bb"},
            {"ccc"},
            {"cccc"}};
for (int i=0; i<7; i++)
 cout<<"Strig"<<i+1<<": "<<s[i]<<endl;
cout<<"size of s="<<sizeof(s)<<endl;
system("pause");
return 0;
}
//---------------------------------------------------------------------------


Это сообщение отредактировал(а) Dmi3ev - 9.1.2009, 22:51


--------------------

PM MAIL   Вверх
mes
Дата 9.1.2009, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Tokagero @  9.1.2009,  21:27 Найти цитируемый пост)
Сказали неправильно все. Где ошибки? 

так демонстрации то нету.

Добавлено через 58 секунд
а размер как Вы узнали? вручную подсчитали ? тоже неправильно..


--------------------
PM MAIL WWW   Вверх
Dmi3ev
Дата 9.1.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

42 байт

у тебя массив 7х4, какие 42 байта??? char обычно 1 байт, у тебя 28*char, значит 28 байт.

Добавлено @ 22:54
Цитата

а размер как Вы узнали?

Код

cout<<"size of s="<<sizeof(s)<<endl;

вот так)))

Это сообщение отредактировал(а) Dmi3ev - 9.1.2009, 22:55


--------------------

PM MAIL   Вверх
mes
Дата 9.1.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Dmi3ev, пример не иллюстрирует самого главного -
отличие расположения в памяти статического многомерного массива от динамического.  smile 

Это сообщение отредактировал(а) mes - 9.1.2009, 22:59


--------------------
PM MAIL WWW   Вверх
Tokagero
Дата 9.1.2009, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 25.10.2006

Репутация: нет
Всего: нет



не, народ, мне не нужна прога. Мне примерно в таком виде бумажном и нуно сдать. Это типа теоретического вопроса. 

Цитата(mes @  9.1.2009,  22:51 Найти цитируемый пост)
а размер как Вы узнали? вручную подсчитали ?

да, такова задача.

Я прошу чтоб вы мне так-же написали мои ошибки и возможно исправили их (спс тогда)
причем не на визуал с а на обычном синеэкранном )

Это сообщение отредактировал(а) Tokagero - 9.1.2009, 23:03
PM MAIL   Вверх
mes
Дата 9.1.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Tokagero @  9.1.2009,  22:02 Найти цитируемый пост)
. Мне примерно в таком виде бумажном и нуно сдать. Это типа теоретического вопроса. 

Предполагаю, что основое недовольствие было из за того, что не показали линейность памяти, занимаемой многомерным статическим масивом :

т.е примерно так должно быть :
Код

char muw[7][4] = {{"а"}, {"бб"}, {''ввв''}, {''г''}, {''ддд''}};  
// =  [a][\0][][] [б][б][\0][] [в][в][в][\0] [г][\0][][] [д][д][д][\0] [][][][] [][][][]


ну и также ошибочный размер.. см пост Dmi3ev

Это сообщение отредактировал(а) mes - 9.1.2009, 23:15


--------------------
PM MAIL WWW   Вверх
Tokagero
Дата 9.1.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 25.10.2006

Репутация: нет
Всего: нет



mes, а ничего что это двумерный массив?
Тем более там в середине массива встречаются символы конца строки.....

итого с памятью вопрос решен, осталось 
• обявить по нормальному (если имеются ошибки в обьявлении значений массивов, а они суда по отзывам преподавателя имеются)
• изборазить максимально "графически" с помощью квадратных скобок, стрелочек и т.п.


Это сообщение отредактировал(а) Tokagero - 9.1.2009, 23:16
PM MAIL   Вверх
mes
Дата 9.1.2009, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Tokagero @  9.1.2009,  22:14 Найти цитируемый пост)
mes, а ничего что это двумерный массив?

A вот для этого наверняка и задан, вопрос был.. Чтоб проверить как Вы усвоили "разницу в масивах":)
Так что если и с подсказки не вспомнили, то лучше еще раз в учебник глянуть smile

Цитата(Tokagero @  9.1.2009,  22:14 Найти цитируемый пост)
обявить по нормальному 

Код

char muw[7][4] = {"а", "бб", "ввв", "г", "ддд"};
//char muw[7][4] = {{"а"}, {"бб"}, {"ввв"}, {"г"}, {"ддд"}};
char *mu[] = {"а", "бб", "ввв", "г", "ддд"};



Цитата(Tokagero @  9.1.2009,  22:14 Найти цитируемый пост)
 изборазить максимально "графически" с помощью квадратных скобок, стрелочек и т.п.

А это открывайте лекции и смотрите, как именно учили smile

Это сообщение отредактировал(а) mes - 9.1.2009, 23:25


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.