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

С++.Структура данных. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.84
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
15.02.2011, 23:01     С++.Структура данных. #1
Вот мой вариант но говорят что неправильно,ибо ссылочный тип не может указывать на языковую константу:
Pascal
1
2
3
4
5
6
7
8
9
10
11
struct list
{ char *elem;
list *next; }
list *p;
p=NULL;
p=new list;
(*p).elem='a';
(*p).next=null;
(*p).next=newlist;
(*p).(*next).elem='b';
p next next=null;
извините за орфографические ошибки

интересует все-таки что неправильно)
Миниатюры
С++.Структура данных.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 23:01     С++.Структура данных.
Посмотрите здесь:

Структура данных C++
C++ Структура данных
Структура данных C++
C++ Динамическая структура данных
Структура данных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.02.2011, 23:45     С++.Структура данных. #2
код выложи сначала
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 05:47  [ТС]     С++.Структура данных. #3
up блин(вопрос остался не решенным(
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,058
16.02.2011, 06:20     С++.Структура данных. #4
первое что я вижу null а не NULL
null это константа
а NULL ато макрос
хотя и то и другое сгенерит 0 но для языка это две большие разницы.
ибо указатель не может быть равен 0
он может инициализироватся значением 0 т.е указывать на нулевую ячейку памяти
С уважением Валерий

Добавлено через 4 минуты
второе
(*p).elem='a';
а это символ а не строка
надо
(*p).elem="a";
тогда это будет строка из одного символа
и третее
почему не так пишешь
p->elem='a';

Добавлено через 8 минут
(*p).next=newlist;
(*p).(*next).elem='b';
это вообще интересно
может все же так
C++
1
2
3
4
5
6
7
list *p=new list;
p->elem='a';
p->next=null;
 
list * b=new list;
b->elem='b';
b->next=p;
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 06:37  [ТС]     С++.Структура данных. #5
Если вы не видите,то я извинился за орфографические ошибки,проверяет у меня преподаватель,а не компьютер так что я могу впринципе хоть как писать)
писал так потому,что писать было лень)
проблема даже не в этом)дело в том что elem имеет ссылочный тип, а присваивание ссылочному типу какой-либо константы(в моем случае это языковая) через обычное присваивание как у меня невозможно,то есть надо как-то подругому, думаю от того что я поставлю "a" вместо 'a' смысл не поменяется.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,058
16.02.2011, 06:49     С++.Структура данных. #6
Очень даже поменяется (или значение или адрес)
проверяет у меня преподаватель,а не компьютер так что я могу впринципе хоть как писать)
писал так потому,что писать было лень)
О КАК
а зачем тогда учиться ???
Я тебе указал на конкретные ошибки а ты их даже не понял!!!
судя по картинке ты изучаешь двусвязные списки, а сам даже основы языка не знаешь
извини но помогать(А тем более за тебя писать не буду)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
16.02.2011, 12:21     С++.Структура данных. #7
Цитата Сообщение от ValeryS Посмотреть сообщение
null это константа
Никогда не слышал о константе null.
В новом стандарте есть такая штука, как nullptr, обозначающая именно нулевой указатель, но она поддерживается сейчас только MSVS2010 и последним GCC.

Цитата Сообщение от ValeryS Посмотреть сообщение
ибо указатель не может быть равен 0
он может инициализироватся значением 0 т.е указывать на нулевую ячейку памяти
В чём разница? Переменная-указатель содержит значение 0, т.е. ptr == 0 вернёт true. Это противоречит вашему утверждению.
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 15:20  [ТС]     С++.Структура данных. #8
Дорогой Валерий, буду политкорректным именно для вас.
Во-первых,цель учебы не научиться быть "тупоголовым" кодером,пишущим все как надо,и пишущем к сожалению на 1 языке программирования, если вы незнаете, то мы сейчас пишем на высоких уровнях языка, мы отдаляемся от машинного кода и приближаемся к гибкому математическому,уловив суть,я могу писать и на паскале и на с,на с++,и т.д.Коды меняются,решение остается. Не важна эта трабла с запятыми и точками. Во-вторых вы указали мне ошибки???Вы сказали все что вы знаете о структуре данных,но к сожалению вы знаете мало, и указали код,который неверен.А NULL и null вообще неочем,скажите вы на чем там пишете,что они у вас разные?Мне нужно просто было сказать что разноименовывание elema и есть мой результат. Ибо если вы сами не знаете,что именно мне было писать,пишу именно для вас. Задача решалась так, решил за минутку, только как мне сказали что нужно применить разноименовывание(ибо знак -> может указывать только на структуру, а * может на все что угодно, тем более символьные константы "a"и "b" лежали в динамической памяти,тоесть неимели имени,приравнивание типо как у вас: b->next=p; невозможно,так как мы выделяем статическую память) Короче вот ответ(для вас ОМАЙГАРЕБЛДАЭТОЖЕУЧИТЕЛЬОРФОГРАФИИ даже без орфографических ошибок):
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct list
{char *elem;
list *next;}
list *p;
p=NULL; //как вы любите NULL,а не null хотя это бессмысленно
p=new list;
p->elem=new char;
*(p->elem)='a'; //вот,что я просил обьяснить
p->next=new list;
p->next->elem=new char;
*(p->elem)='b';
p->next->next=NULL;
И если вы, дорогой Валерий, знаете чуть больше моего(под сомнением точно), не смейте мне попрекать о том,что я невижу и незнаю совсем язык,вы не мой преподаватель и незнаете совершенно меня, от чего такие выводы вы делаете? Если вы кодер, который не может анализировать задачу и делаете все по лекалам, то я вам сочуствую.
S1av0k
8 / 8 / 0
Регистрация: 25.01.2011
Сообщений: 21
16.02.2011, 16:12     С++.Структура данных. #9
цель учебы не научиться быть "тупоголовым" кодером,пишущим все как надо
Хм...я слышал, конечно, что в образовании грядут всё новые реформы, но чтоб настолько...
Вот так невзначай вы оскорбили минимум 50% обитателей сего форума...

мы сейчас пишем на высоких уровнях языка
Может на языке высокого уровня?...

Не важна эта трабла с запятыми и точками.
А вот практика показывает ровно обратное
Даже если вы можете
хоть как писать
, то никто не собирается догадываться, что вы хотели сказать своим быдлокодом. Соответственно, не стоит и помощи ждать, а уж тем более возмущаться, что вас не поняли.

И вообще, впредь будьте менее хамоваты.
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 16:40  [ТС]     С++.Структура данных. #10
Вы считаете что 50% обитателей форума "тупоголовые кодеры"?оО
На счет языка высокого уровня:да,именно так
а насчет практики,нужно до нее сначала как-бы дойти,не зная алгоритма решения задачи, практика написания орфографически правильных алгоритмов бессмысленна, тем более ею можно овладеть буквально за короткое время,что не скажешь о написании алгоритмов.
Если никто не хотел рассматривать мой быдлокод,могли бы добавить свой небыдлокод,вопрос был сфотографирован, когда во время диктанта учитель русского у вас видел ошибку,он же не пытался ее понять?Он перечеркивал и писал правильный вариант. Мой быдлокод был исправлен и исправлен неправильно.

А насчет хамства,просто отвечаю людям тем же.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
16.02.2011, 18:23     С++.Структура данных. #11
Wolfed, послушайте, вы используете кучу терминов. Хорошо, что у вас богатый словарный запас, но если несвязанные термины связывать, то мысль превращается в кашу. Например:
Цитата Сообщение от Wolfed Посмотреть сообщение
практика написания орфографически правильных алгоритмов бессмысленна
Единственное, что бессмысленно - так это процитированное предложение. Бессмысленно, потому что бессвязно.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,058
16.02.2011, 18:54     С++.Структура данных. #12
silent_1991
извини ступил
null вообще не существует
просто до этого писал программу с булевыми переменными и по шаблону TRUE true и ответил
Wolfed
для тебя 'a' и "a" это одно и тоже?
а так 'aaaaa' и "aaaaa" это тоже одинаково,
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
18.02.2011, 00:37  [ТС]     С++.Структура данных. #13
Читайте лучше,связь там есть)
Но если вы уж не поняли суть предложения,поясню: В алгоритме главное не орфография, а суть алгоритма,его правильность и верность. для меня хоть тысячу "а" напишите мне будет ровно тысяча 'a'.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,058
18.02.2011, 10:05     С++.Структура данных. #14
Алгоритм описывается псевдоязыком, блок-схемой, словами наконец
но никак не программой на каком либо конкректном языке
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2011, 10:20     С++.Структура данных.
Еще ссылки по теме:

Указатели и структура данных C++
C++ Структура данных Person
Структура данных C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.02.2011, 10:20     С++.Структура данных. #15
Wolfed, в вашем первом сообщении я вижу код на Си (обрамлённый почему-то в тег Pascal, но суть не меняется). А, значит, мы уже ушли от составления алгоритма к его описанию на конкретном языке. И напиши вы 'aaaaa' вместо "aaaaa", компилятор наплюёт на вашу правильность алгоритма и пошлёт вас подальше, ему, подонку такому, "орфографию" подавай.
Yandex
Объявления
18.02.2011, 10:20     С++.Структура данных.
Ответ Создать тему
Опции темы

Текущее время: 18:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru