Вернуться   Развлекательный портал CN.ru - Форум > Технологии > Программирование > Начинающим

Ответ
 
Опции темы
Старый 08.01.2010, 22:20 ↑ #171
iLoveSkA Мужской
новосёл
 
Аватар для iLoveSkA
 
Регистрация: 26.09.2009
Адрес: Академгородок
Возраст: 26
Сообщений: 32
Репутация: 8
iLoveSkA молчание-золото
Отправить сообщение для iLoveSkA с помощью ICQ Отправить сообщение для iLoveSkA с помощью Skype™
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от Werehuman Посмотреть сообщение
И внизу заветная фраза - Segmentation fault?
С заветной фразой вы не угадали =) Aborted там стоит
Цитата:
getline не выделяет память под строку. Сделай variable_string = malloc(strlength);
не понимаю за чем... char * variable_string; указатель ведь

Цитата:
Советую сразу приучаться пользоваться дебагером. Можешь прямо в консольке gdb юзать, правда непросто это. Но, судя по всему, ты какой-то средой пользуешься, там наверняка графическая обертка к нему есть. Дебаггер бы ругнулся на строке с getline.
использую Code::Blocks, пока больше всех по душе пришелся.
а дебагер молчит, не понятно почему...
__________________
iLoveSkA вне форума   Ответить с цитированием
Старый 08.01.2010, 22:31 ↑ #172
Werehuman Мужской
cтарейшина эго-форума
 
Аватар для Werehuman
 
Регистрация: 07.04.2007
Адрес: mailto: root@localhost
Возраст: 30
Сообщений: 800
Репутация: 442
Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет
Отправить сообщение через Jabber пользователю Werehuman
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от iLoveSkA Посмотреть сообщение
не понимаю за чем... char * variable_string; указатель ведь
getline пишет в ту область памяти, на которую указывает ее первый аргумент. А в данном случае он указывает хрен знает куда.
Werehuman вне форума   Ответить с цитированием
Старый 08.01.2010, 22:36 ↑ #173
iLoveSkA Мужской
новосёл
 
Аватар для iLoveSkA
 
Регистрация: 26.09.2009
Адрес: Академгородок
Возраст: 26
Сообщений: 32
Репутация: 8
iLoveSkA молчание-золото
Отправить сообщение для iLoveSkA с помощью ICQ Отправить сообщение для iLoveSkA с помощью Skype™
Lightbulb Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от Werehuman Посмотреть сообщение
getline пишет в ту область памяти, на которую указывает ее первый аргумент. А в данном случае он указывает хрен знает куда.
Огромнейшее спасибо за скорую и действенную помощ! Никакой ругани больше нет
__________________
iLoveSkA вне форума   Ответить с цитированием
Старый 09.01.2010, 19:15 ↑ #174
Andron-nsk Мужской
АвтоКлуб
 
Регистрация: 25.12.2006
Сообщений: 306
Репутация: 118
Andron-nsk на верном пути Andron-nsk на верном пути
Отправить сообщение для Andron-nsk с помощью ICQ
По умолчанию Re: Уроки программирования на C++ для начинающих

память от malloc освободить не забудьте...

и вообще, для С++ нужно пользоваться конструкциями new/delete, вместо мэллок, если уж очень-очень хочется динамическое выделение. зачем оно в примере - ваще хз.
__________________
.NET Developer
Andron-nsk вне форума   Ответить с цитированием
Старый 09.01.2010, 19:53 ↑ #175
iLoveSkA Мужской
новосёл
 
Аватар для iLoveSkA
 
Регистрация: 26.09.2009
Адрес: Академгородок
Возраст: 26
Сообщений: 32
Репутация: 8
iLoveSkA молчание-золото
Отправить сообщение для iLoveSkA с помощью ICQ Отправить сообщение для iLoveSkA с помощью Skype™
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от Andron-nsk Посмотреть сообщение
память от malloc освободить не забудьте...
это само собой..
Цитата:
и вообще, для С++ нужно пользоваться конструкциями new/delete, вместо мэллок, если уж очень-очень хочется динамическое выделение. зачем оно в примере - ваще хз.
так как данные на вход размером не ограничены - использую динамическую память.
Я пока с С++ не очень, поэтому как знаю пишу. что то тяжно с Си на плюсы. синтаксис очень различается
__________________
iLoveSkA вне форума   Ответить с цитированием
Старый 09.01.2010, 19:59 ↑ #176
Werehuman Мужской
cтарейшина эго-форума
 
Аватар для Werehuman
 
Регистрация: 07.04.2007
Адрес: mailto: root@localhost
Возраст: 30
Сообщений: 800
Репутация: 442
Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет
Отправить сообщение через Jabber пользователю Werehuman
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от iLoveSkA Посмотреть сообщение
Я пока с С++ не очень, поэтому как знаю пишу
BTW замени <iostream> на <stdio.h>

Цитата:
Сообщение от iLoveSkA Посмотреть сообщение
что то тяжно с Си на плюсы
C++ - отвратительный язык. Уже и не знаю, раньше я говорил что его надо знать потому, что его все знают, но чем больше сам с ним разбирался, тем больше понимал, что слишком уж он геморройный. Выучи Си, затем пробуй джаву, например.
Werehuman вне форума   Ответить с цитированием
Старый 09.01.2010, 21:57 ↑ #177
iLoveSkA Мужской
новосёл
 
Аватар для iLoveSkA
 
Регистрация: 26.09.2009
Адрес: Академгородок
Возраст: 26
Сообщений: 32
Репутация: 8
iLoveSkA молчание-золото
Отправить сообщение для iLoveSkA с помощью ICQ Отправить сообщение для iLoveSkA с помощью Skype™
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от Werehuman Посмотреть сообщение
C++ - отвратительный язык. Уже и не знаю, раньше я говорил что его надо знать потому, что его все знают, но чем больше сам с ним разбирался, тем больше понимал, что слишком уж он геморройный. Выучи Си, затем пробуй джаву, например.
кошмар.. кто что советует.. я уже совсем запутался =)


вопрос появился:
в паскале random(n) выдавал число из диапазона 0.. n-1
в Си, я так понял, rand() выдаёт от 0.. 32767.
как уменьшить этот диапазон?
__________________

Последний раз редактировалось iLoveSkA; 09.01.2010 в 22:49.
iLoveSkA вне форума   Ответить с цитированием
Старый 09.01.2010, 22:58 ↑ #178
Alstein Мужской
Gaudeamus igitur!
абориген
 
Регистрация: 04.06.2006
Адрес: nsk
Сообщений: 156
Репутация: 8
Alstein молчание-золото
Отправить сообщение для Alstein с помощью ICQ Отправить сообщение через Jabber пользователю Alstein
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от iLoveSkA Посмотреть сообщение
кошмар.. кто что советует.. я уже совсем запутался =)


вопрос появился:
в паскале random(n) выдавал число из диапазона 0.. n-1
в Си, я так понял, rand() выдаёт от 0.. 32767.
как уменьшить этот диапазон?
Так точнее:
Цитата:
The rand() function returns a pseudo-random integer in the range [0, RAND_MAX].
Код:
int a = rand()%N; // в a число [0, N)
Кроме того в stdlib.h указаны другие приятные функции для получения псевдослучайных чисел:
Код:
double drand48(void);
long int lrand48(void);
long int mrand48(void);
...
имхо: C++ сложный язык, но при этом гибкий; незаменим для низкоуровневого программирования. Осваивать ООП с Java не стоит: говорят, что научиться потом правильно кодить на C++ — непросто.

Последний раз редактировалось Alstein; 09.01.2010 в 23:06.
Alstein вне форума   Ответить с цитированием
Старый 10.01.2010, 00:09 ↑ #179
Werehuman Мужской
cтарейшина эго-форума
 
Аватар для Werehuman
 
Регистрация: 07.04.2007
Адрес: mailto: root@localhost
Возраст: 30
Сообщений: 800
Репутация: 442
Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет Werehuman за словом в карман не полезет
Отправить сообщение через Jabber пользователю Werehuman
По умолчанию Re: Уроки программирования на C++ для начинающих

Цитата:
Сообщение от Alstein Посмотреть сообщение
говорят, что научиться потом правильно кодить на C++ — непросто.
Правильно говорят. Если начинать с лучшего, то потом от худшего тошнить будет. В том и вопрос: надо ли учить С++? В универе научат, а пока можно что поинтереснее.
Werehuman вне форума   Ответить с цитированием
Старый 10.01.2010, 11:04 ↑ #180
iLoveSkA Мужской
новосёл
 
Аватар для iLoveSkA
 
Регистрация: 26.09.2009
Адрес: Академгородок
Возраст: 26
Сообщений: 32
Репутация: 8
iLoveSkA молчание-золото
Отправить сообщение для iLoveSkA с помощью ICQ Отправить сообщение для iLoveSkA с помощью Skype™
По умолчанию Re: Уроки программирования на C++ для начинающих

не подскажите, где можно хороших обучающих задач взять? просто на запросы в гугле выдаются всякие не классные задачи про распечатку элементов массивов и тп =/
__________________
iLoveSkA вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Текущее время: 00:38. Часовой пояс GMT +6.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot

ВКонтактeTwitterFacebook
Хотите связаться с нами? Напишите письмо, и мы обязательно ответим.