43 / 43 / 14
Регистрация: 16.11.2011
Сообщений: 125
|
|
1 | |
Что лучше для изучения c++01.12.2011, 16:19. Показов 9443. Ответов 60
Метки нет (Все метки)
Всем привет.
Вообщем, я скачал книгу Павловская "С++ - программирование на языке высокого уровня". Я довольно неплохо знаю delphi, поверхностно-php, - сейчас решил что пора уже и c++ изучить. Слышал что синтаксис php и c++ схож, думаю в обучении будет легче. Хотелось бы услышать ваши отзывы об этой книге. Является ли она тем, что мне нужно, или вы можете посоветовать что-то другое. Спасибо за ваши комментарии. Добавлено через 3 минуты Добавлю, что хотелось программировать на Borland C++, на Visual нет желания - недолюбливаю продукцию microsoft вообще, а после хотелось бы научиться программировать под *nix системы.
0
|
01.12.2011, 16:19 | |
Ответы с готовыми решениями:
60
Какой учебник лучше для изучения С++ Выбрал для изучения С++,что дальше? Что почитать для углубленного изучения C++? Какие книги посоветуйте для изучения для изучения STL, C++ |
Заблокирован
|
|
02.12.2011, 15:22 | 41 |
Почему меня должна смущать ваша глупость?! Речь идет не о национальностях того или иного руководителя фирмы в США, а о развитии информациооных технологий и соответствующей инфраструктуре, направленной на поддержку развития этих технологий в конкретной стране. Россия в этом отношении находится на уровне банановых республик. И это очевидно. Уровень качества печатной пролдукции по информационным технологиям отечественных авторов крайне инизкий. Даже книги, которые здесь советуют читать для изучения С/С++, сплошь и рядом сотоят из англоговорящих авторов. Отечественные авторы, как правило, пишут совершенно безграмотные книги. Я сейчас посмотрел, что у меня дома на полках из книг по программированию, и нашел лишь одну, повторяю, одну книгу по теории трансляторов российского автора. Да и то эту книгу нельзя назвать книгой по практическому программированию, сколько книгой по теоретическим основам компиляторов. Нет, вру! Есть еще книга нашего автора "Ассемблер для Windows". Все, больше ничего нет. И не потому, что я не обращаю внимание на книги отечественных авторов, а потому что смотрю их и вижу, насколько там низкий уровень изложения, и в лучшем случае перекомпиляция из давно уже изданных на Западе. Какова ценность книг российских авторов по С/С++, если многие из них до сих пор не знают, как правильно объявляется функция main?!
0
|
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
|
|
02.12.2011, 15:52 | 42 |
Сыроежка, если ты споришь с идиотом, возможно, он в это время делает то же самое.
Начни судить о полезности еды размером сисек поварихи. Напиши свою книгу. Будешь олицетворять подъем развития информационных технологий на руси. Все твои доводы беспочвенны по большому счету. Как человек, который называет себя программистом, может так глобально обобщать ситуацию? "Я нашел на полке у себя". да и флаг тебе в руки. как можно судить столь глобально. Ход мыслей как у школьницы-старшеклассницы. ей богу.
1
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
02.12.2011, 19:44 | 45 |
Эта семантика пришла из С. Ссылок в С не было.
Добавлено через 3 минуты Не по теме: Я знаю, поскольку моих выпускников-дипломников за рубежом достаточно много. И в Европе, и в Америке, и даже в Австралии. Причем, даже наши троечники без проблем устраивались за бугром.
0
|
Заблокирован
|
|
02.12.2011, 20:17 | 47 |
А вы внимательно прочитали, что я написал?! Я спрашиваю это потому, что эта ваша реплика неуместна. В моем сообщении все ясно сказано.
Процитирую себя, любимого, еще раз: "В С/С++ есть тип многомерные массивы, которые в С++ вы можете даже передавать по ссылке."
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
02.12.2011, 23:29 | 48 |
А вы ВНИМАТЕЛЬНО и МЕДЛЕННО прочитайте мою фразу. Повторю большими буквами: СЕМАНТИКА ОДНОМЕРНЫХ МАССИВОВ УНАСЛЕДОВАНА ОТ С. Это - по стандарту, между прочим, на который вы так любите ссылаться...
В С - не было многомерных массивов и ссылок - не было.
0
|
greeezz
|
02.12.2011, 23:55
#49
|
Не по теме: ValeryLaptev
0
|
Заблокирован
|
|
03.12.2011, 03:50 | 50 |
Увы, вы не исправимы. Я думаю, что вы не внимательно читаете то, что япишу, именно из-за уязвленного самолюбия, что указали вам, что вы не знаете ни С, ни С++!
Я ясно написал, что "В С/С++ есть тип многомерные массивы, которые в С++ вы можете даже передавать по ссылке." Спечиально для вас выделяю жирным шрифтом часть фразы. Заметили, что в выделенной части фразы говорится лишь про С++? Или опять будете делать вид (а может бытьи не вид, а вы действительно не понимааете, что вам пишут), что вы не заметили словочетание "которые в С++". Но это мелочи по сравнению с тем. что вы даже не знаете, что в С есть многомерные массивы! Я вам настоятельно советую почитать книгу автора языка С Дегниса Ритчи "Язык программирования С", в которой есть параграф, котоырй прямо так и называется "5.7 Многомерные массивы". Если вы не поняли, то я повторю, что эта книга о С, а не о С++! В С++ не изобретали многомерные массивы, как вы наивно думаете. А самое главное - видите дискуссию корректно! Я нигде не говорил, что в С есть ссылки. Это вы за меня сочиняете, а затем свои фантазии приписываете мне. Надо сохранять, как говорят японцы, лицо, даже если вы безнадежно проигрываете .
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
03.12.2011, 09:01 | 51 |
0. Я специально пронумеровал, чтобы было понятно, на какую фразу я отвечаю.
1. Это - грубый и хамский наезд - переход на личности. Я вам такого повода не давал. 2. Цитирую Кернигана и Ричи (2001 года, 3-е издание, исправленное и дополненное), параграф 5.7, стр. 147, второе предложение: 3. Опять переход на личности. Причем безосновательный.
1
|
03.12.2011, 09:38 | 52 |
Что касается языка Си, то двумерный массив рассматривается как одномерный массив массивов. Например, матрица int a[M][N] будет рассматриваться как одномерный массив из M элементов, а элементами являются одномерные массивы int a[N]. Поэтому мы может пробежать все элементы матрицы a таким образом:
for(i = 0; i < M*N; i++) *(*a + i) Здесь *a - адрес самого первого элемента матрицы (в виде одномерного массива). Если бы матрица не являлась одномерным массивом массивов, то такой код был бы невозможен. Про то, что матрица рассматривается как одномерный массив и У Ритчи есть, и у Стивена Прата.
0
|
03.12.2011, 11:25 | 54 |
А я ничего не доказываю, делать мне больше нечего, просто привожу факты. И если элементы хранятся всегда последовательно и их ровно M*N штук, не массив ли это размера M*N, при условии что мы знаем адрес его начала?
По определению, массив это набор однотипных объектов, последовательно располагающихся в оперативной памяти. А мы именно это и имеем! Ну и какие возражения после этого будут?
0
|
03.12.2011, 12:03 | 55 | |||||
0
|
03.12.2011, 12:22 | 57 | |||||
А я говорю о том, что если данные хранятся последовательно в памяти, то это не значит, что они обязательно сформированы в массив.
1
|
03.12.2011, 12:27 | 58 |
Это да, но матрицу мы можем рассматривать как одномерный массив, уж так она хранится. К чему это я. К тому, что некоторые алгоритмы работы с матрицами легче прописать, если обращаться к ее элементам так:
*(*a + i), i=0,...,M*N-1 Мне это важно именно для написания быстрых алгоритмов, а в вопросы, связанные с понятием определения и способом хранения лезть не хочется. Мне важно, что такое обращение к элементам матрицы всегда будет верным, а это зависит от того как матрица хранится.
0
|
Заблокирован
|
|
03.12.2011, 16:24 | 59 |
Проблема в том, что я дискуссирую не с Ритчи, а с вами, который не знает языков С/С++ и при этом выдергивает фразы из книги Ритчи, не понимая их смысла.
Давайте разбираться с тем, что вы цитируете без понимания смысла. Во-первых, у меня нет данной книги 2001 года, а есть ее издание 2006 года. И в этой книге фраза звучит несколько по иному "В языке С двумерный массив - это фактически одномерный массив, каждый элемент которого в свою очередь является массивом". О чем здесь говорится? О размещении в памяти двумерного массива. Но самое главное здесь ясно сказано о двумерном массиве. Когда чего-то в языке нет. то об этом не говорят. Какой смысл использовать некорректный термин "двумерный массив", если его в С просто нет? Такая простая мысль вам в голову не приходила?! А что тогда делать с трехмерными масивами, четырехмерными массивами и т.д.? Денис Ритчи для таких, как вы, которые не в состоянии самостоятельно разобраться в вопросе подробно объясняет физическую архитектуру размещения в памяти многомерных массивов. Я вам уже сказал, что в одномерном пространстве, которым является память компьютера многомерные массивы можно только так и расположить. Разве лишь заменив линейное расположение по строкам, расположением по столбцам массива. Поэтому вы цитируете Дениса Ритчи, а не понимаете. что он пишет. Но это уже вопросы не языка С, а вашего интеллектуального уровня. Что касается языка С, то в этой же книге есть приложение А "Справочное руководство по языку С", в котором в параграфе Ф.8.6.2 "Описатели массивов" говорится о многомерных массивах и приводится в частности пример трехмерного массива static int x3d[3][5][7]; Обратите на название идентификатора массива x3d. Значете, что оно означает? Оно означает, чтто массив имеет 3 размерности (d - это от английского слова dimension) И к этому примеру в книжке дан поясняющий текст (опять-таки заметьте, это Денис Ритчи писал, на которого вы так безграмотно ссылаетесь!): "Аналогично, следующее объявление создает статический трехмерный массив целых чисел размером 3х5х7. В отношении же вас проблема связана не с языком С, а с вашим уровнем интеллекта. Просто задайтесь вопросом, если в С нет многомерных массивов, то что означает запись x3d[3][5][7] ? Спросите любого ребенка, он видет разницу между записью x3d[105] и записью x3d[3][5][7] ? А после того, как ребенок вам ответит, то задайте уже себе вопрос: а зачем придумана запись x3d[3][5][7] если можно записать x3d[105] ? Значит, наверное, первая форма записи несет в себе некоторую смысловую нагрузку, которая отличает ее от второй формы записи, не так ли? Но, честно признаюсь, мне вообще смешно, что взрослому человеку приходится объяснять банальные вещи на уровне ребенка! В конце-концов, есть стандарт языка С, в котором говорится о многомерных массивах и утверждается, что int x3d[3][5][7] [/B] и int x3d[105] - это два разных типа, где первый тип - это тип трехмерного массива (заметьте, не одномерного и даже не двумерного, а трехмерного!), а второй тип - это тип одномерного массива. Далее не имеет смысла с вами продолжать дискуссию, так как это уже напоминает комедию, или общение с крайне не адекватным человеком, который даже не в состоянии отдавать себе отчет, что означают фразы, которые он читает. То есть читать вы умеете, но понимать смысл того, что написано не в состоянии. Поэтому я бы вам мог посоветовать открыть стандарт языка С и просто поискать в нем по ключевому слову multidimensional array, но я не вижу в этом смысла, так как вы, как показывает ваше сообщение, все равно не понимаете то, что читаете. Вы все равно будете заявлять, что это просто другое название одномерного массива. Меня лично не беспокоит ваша безграмотность в вопросах С/С++. Это лично вас должно беспокоить то, что свою безграмотность вы выносите на всеобщее посмешище. Любой квалифицированный грамотный программсит С/С++ вас скажет, что вы несете глупость и задаст простой вопрос: напишите синтаксис объявления многомерного массива и синтаксис объявления олномерного массива. Разницу видите?А теперь попробуйте самостоятельно догадаться без моей помощи, если в С/С++ нет многомерных массивов, то откуда появился такой синтаксис?!
1
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
03.12.2011, 17:08 | 60 |
из сообщения
Сообщение от ValeryLaptev
наличие скобок - просто хороший стиль, так же, как и скобки в логических выражениях (которые требует gcc, например)
0
|
03.12.2011, 17:08 | |
03.12.2011, 17:08 | |
Помогаю со студенческими работами здесь
60
Что следует ЗНАТЬ для начала изучения C++? Что используете для изучения языков программирования и технологий тд? Что посоветуете для углубления изучения c++? Глобальные и локальные переменные: что лучше (или что для чего и в чем конкретная разница)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |