Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 578
от 10.11.2006, 13:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 414, Экспертов: 49
В номере:Вопросов: 2, Ответов: 4


Вопрос № 61311: Здравствуйте уважаемые эксперты. Я начал изучать С++(Есть средний опыт программирования на С). Читаю Страуструпа. На что надо обращать особое внимание? Или может есть более подходящая литература? За раннее большое спасибо....
Вопрос № 61340: Здравствуйте, уважаемые эксперты! У меня небольшая проблема с переведением программы с Pascal на C. Вот что имелось на Pascal: Program Recursive; Uses CRT; Type Tmas=Array[1..32413] Of Integer; Var A:Tmas; num:Integer;<b...

Вопрос № 61.311
Здравствуйте уважаемые эксперты. Я начал изучать С++(Есть средний опыт программирования на С). Читаю Страуструпа. На что надо обращать особое внимание? Или может есть более подходящая литература?
За раннее большое спасибо.
Отправлен: 05.11.2006, 00:22
Вопрос задал: Alexander V Paladiy (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Alexander V Paladiy!
На ООП, на шаблоны, на исключения, на все то, для чего создавался язык. Страуструп - куда удачнее литература?

Успехов в познаниях.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Профессионал)
Адрес: Санкт-Петербург
WWW: http://www.sport-diary.ru
ICQ: 28260749
----
Ответ отправлен: 05.11.2006, 00:29

Отвечает: Lonely Wolf
Здравствуйте, Alexander V Paladiy!
С++ это ООП. Его главные признаки это инкапсуляция, полиморфизм и наследование, на это и надо обращать внимание. Страуструп - первоисточник, но сложновато для понимания(по крайней мере для меня).Советую У.Савич C++ во всей полноте.

---------
Ассемблер FOREVER!!!
Ответ отправил: Lonely Wolf (статус: 9-ый класс)
Ответ отправлен: 05.11.2006, 12:50

Отвечает: Delph
Здравствуйте, Alexander V Paladiy!

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

Тему можете выбрать совершенно любую. Если Вы изучаете C++ не под нажимом преподавателя, а по собственной инициативе - выбирайте что-то, что будет интересно именно Вам. Это может быть игрушка, записная книжка в собственном формате, визуализация научного расчёта... Всё, что угодно!
Ответ отправил: Delph (статус: 3-ий класс)
Ответ отправлен: 07.11.2006, 11:05


Вопрос № 61.340
Здравствуйте, уважаемые эксперты!
У меня небольшая проблема с переведением программы с Pascal на C.
Вот что имелось на Pascal:
Program Recursive;
Uses CRT;
Type Tmas=Array[1..32413] Of Integer;
Var A:Tmas;
num:Integer;
Procedure Print(t:Integer);
Var i:Integer;
Begin
For i:=1 To t Do Write(A[i]:3);
WriteLn;
End;
Function Min(a,b:Integer):Integer;
Begin
If a<b Then Min:=a Else Min:=b
End;
Procedure Solve(n,t:Integer);
Var i,q:Integer;
Begin
If n=1 Then Begin A[t]:=1;Print(t) End
Else Begin
If n<=A[t-1] Then Begin
A[t]:=n; Print(t) End;
q:=Min(n-1,A[t-1]);
For i:=q DownTo 1 Do Begin
A[t]:=i;
Solve(n-i,t+1)
End
End
End;
Begin
ClrScr;
ReadLn(num);
Solve(num,1);
ReadLn;
End.

В приложении попытка перевести на C.
Подскажите, пожалуйста, что не работает. Выводит только исходное число, остальные не выводятся вовсе.
Заранее спасибо!

Приложение:

Отправлен: 05.11.2006, 12:11
Вопрос задал: Mini Cooper (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: JohnP
Здравствуйте, Mini Cooper!
Все дело в условиях циклов:
вместо for(i=1;i==t;i++) нужно for(i=1;i<=t;i++);
вместо for(i=q;i==1;i--) нужно for(i=q;i>=1;i--);
кроме того, правильнее будет не malloc(n*sizeof a), а malloc(n*sizeof(int)).
Удачи!
Ответ отправил: JohnP (статус: 2-ой класс)
Ответ отправлен: 05.11.2006, 18:54
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Всё работает!
Что-то ступил с условиями...


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное