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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.84
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
#1

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

15.02.2011, 23:01. Просмотров 3944. Ответов 14
Метки нет (Все метки)

Вот мой вариант но говорят что неправильно,ибо ссылочный тип не может указывать на языковую константу:
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;
извините за орфографические ошибки

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

Структура данных - C++
Сведения о колонне автобусов состоят из номера маршрута, марки автобуса, бортового номера и фамилии водителя. а) Вывести фамилии...

Структура данных - C++
Я сейчас изучаю Си. (по книжкам(Керниган,Ритчи ) и видеокурс от "Специалист"). У меня такой вопрос стоит ли параллельна учить Структуры...

Структура данных - C++
Для структуры данных, приведенной на рисунке, создать массив записей и определить фирму, товар которой приходит чаще всех. Массив записей я...

Структура данных - C++
Здравствуйте,помогите исправить программу на структуры.Задание: Имеется список 10 студентов,вывести студентов старше 20 лет. Программа из...

Структура данных - C++
Ест некая структура данных с сылками, пускай будет дерево. Хочу узнать: //pos имя элемента этой структуры, пускай вершина дерева ...

Структура данных - C++
Задание:Известны оценки каждого из 20-ти студентов группы по двенадцати предметам. Определить среднюю оценку каждого студента и всего...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.02.2011, 23:45 #2
код выложи сначала
0
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 05:47  [ТС] #3
up блин(вопрос остался не решенным(
0
ValeryS
Модератор
6633 / 5040 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
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;
0
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 06:37  [ТС] #5
Если вы не видите,то я извинился за орфографические ошибки,проверяет у меня преподаватель,а не компьютер так что я могу впринципе хоть как писать)
писал так потому,что писать было лень)
проблема даже не в этом)дело в том что elem имеет ссылочный тип, а присваивание ссылочному типу какой-либо константы(в моем случае это языковая) через обычное присваивание как у меня невозможно,то есть надо как-то подругому, думаю от того что я поставлю "a" вместо 'a' смысл не поменяется.
0
ValeryS
Модератор
6633 / 5040 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
16.02.2011, 06:49 #6
Очень даже поменяется (или значение или адрес)
проверяет у меня преподаватель,а не компьютер так что я могу впринципе хоть как писать)
писал так потому,что писать было лень)
О КАК
а зачем тогда учиться ???
Я тебе указал на конкретные ошибки а ты их даже не понял!!!
судя по картинке ты изучаешь двусвязные списки, а сам даже основы языка не знаешь
извини но помогать(А тем более за тебя писать не буду)
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.02.2011, 12:21 #7
Цитата Сообщение от ValeryS Посмотреть сообщение
null это константа
Никогда не слышал о константе null.
В новом стандарте есть такая штука, как nullptr, обозначающая именно нулевой указатель, но она поддерживается сейчас только MSVS2010 и последним GCC.

Цитата Сообщение от ValeryS Посмотреть сообщение
ибо указатель не может быть равен 0
он может инициализироватся значением 0 т.е указывать на нулевую ячейку памяти
В чём разница? Переменная-указатель содержит значение 0, т.е. ptr == 0 вернёт true. Это противоречит вашему утверждению.
2
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;
И если вы, дорогой Валерий, знаете чуть больше моего(под сомнением точно), не смейте мне попрекать о том,что я невижу и незнаю совсем язык,вы не мой преподаватель и незнаете совершенно меня, от чего такие выводы вы делаете? Если вы кодер, который не может анализировать задачу и делаете все по лекалам, то я вам сочуствую.
0
S1av0k
8 / 8 / 0
Регистрация: 25.01.2011
Сообщений: 21
16.02.2011, 16:12 #9
цель учебы не научиться быть "тупоголовым" кодером,пишущим все как надо
Хм...я слышал, конечно, что в образовании грядут всё новые реформы, но чтоб настолько...
Вот так невзначай вы оскорбили минимум 50% обитателей сего форума...

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

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

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

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

Динамическая структура данных С++ - C++
Всем огромный привет! :) Начали учить эту тему, ещё до конца не разобрался, а уже прогу делать надо. Вот задание: Дана очередь на основе...

Структура данных ОЧЕРЕДЬ - C++
Смоделировать очередь, в которой реализован такой механизм изъятия элемента из очереди: начало очереди всегда находится в первом элементе...

Динамическая структура данных - C++
Нужна помощь с динамическими структурами данных: Написать программу, которая сохраняет элементы с помощью динамической структуры...

Структура данных Person - C++
По заданию требуется создать структуру Person, с полями Surname, Name и перечисление Sex. Также написать функцию Person ReadPerson(),...


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

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

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