Перейти к содержимому


Фотография

Программирование


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 101

#1 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 13 Апрель 2011 - 22:44

прошу тут задавать свои вопросы связанные с программированием на с++ или на паскале.
Лучше на с++ потому, что я в этом языке лучше всего ориентируюсь.
Можете сюда задачки свои писать, помогу советом или если не лень будет то решу.
Неплохо было бы если бы не я один тут программист был, а еще пару человек хотябы.
Ну короче назначение этой темы вполне понятно я думаю - помощь в программировании.

Сообщение отредактировал man93: 14 Апрель 2011 - 20:41


#2 **the_fourth_angel**

**the_fourth_angel**

    Воин

  • Участники
  • Пользователь 6550
  • 257 сообщений
  • Максимальный срок без онанизма: Текущий

Отправлено 24 Апрель 2011 - 21:02

Я присоединяюсь. Но я больше знаю языки basic и хтмл.

#3 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 25 Апрель 2011 - 19:38

хорошо что нас теперь двое. больше шансов что сможем помочь случайно забредшему сюда

#4 Marcus

Marcus
  • Участники
  • Пользователь 4618
  • 1 524 сообщений

Отправлено 25 Апрель 2011 - 19:57

а с задачами можете помочь? из книги по языку С

#5 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 25 Апрель 2011 - 20:35

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

#6 Толян

Толян

    Воин

  • Блокированные
  • Пользователь 6268
  • 573 сообщений

Отправлено 25 Апрель 2011 - 22:33

Посоветуйте, что можно почитать по C++? Самые основы без особого углубления в язык.

#7 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 25 Апрель 2011 - 22:59

Посоветуйте, что можно почитать по C++? Самые основы без особого углубления в язык.

c++ для чайников


#8 Клаус

Клаус
  • Блокированные
  • Пользователь 5789
  • 70 сообщений
  • Максимальный срок без онанизма: 4 мес

Отправлено 25 Апрель 2011 - 23:29

Дану Если занимаешься программированием то твой труд должен быть востребован и оплачиваем а в виде хобби программирование штука сомнительная мне так кажется

#9 Толян

Толян

    Воин

  • Блокированные
  • Пользователь 6268
  • 573 сообщений

Отправлено 25 Апрель 2011 - 23:39

Есть еще высшее образование, в котором хочешь не хочешь, а С/С++ знать более-менее надо.

#10 Клаус

Клаус
  • Блокированные
  • Пользователь 5789
  • 70 сообщений
  • Максимальный срок без онанизма: 4 мес

Отправлено 26 Апрель 2011 - 00:15

ЗАЧЕЕЕЕЕЕМММ??????

#11 Толян

Толян

    Воин

  • Блокированные
  • Пользователь 6268
  • 573 сообщений

Отправлено 26 Апрель 2011 - 01:23

Не знаю, но информатика у нас в техническом именно такая)

#12 Толян

Толян

    Воин

  • Блокированные
  • Пользователь 6268
  • 573 сообщений

Отправлено 26 Апрель 2011 - 19:20

Помогите, пожалуйста, разобраться с кодом.

void __fastcall TForm1::click6(TObject *Sender)
{
free(data);
}

typedef struct
{
short a;
float b;
char c[16];
} A;
A data_[] =
{
{ 200, 25.178, "C++"},
{ -34, 1234.520, "FORTRAN"},
{ 5, 0.000, "Pascal"},
{ 0}
};

void __fastcall TForm1::click8(TObject *Sender)
{
res_fl->Clear();

char buf[256];

for(A *p = data_; p->a; p++)
{
sprintf(buf, "%5d %8.1f %16s", p->a, p->b, p->c);
text_fl->Lines->Add(buf);
}

}

В готовой программе выходит вот что:
200 25.2 C++
-34 1234.5 FORTRAN
5 0.0 Pascal

В связи с чем возникают вопросы:
Как работает цикл
for(A *p = data_; p->a; p++) и что является концом цикла? Почему он останавливается?
а также непонятна строка
sprintf(buf, "%5d %8.1f %16s", p->a, p->b, p->c); точнее понятна, за исключением этого p->a, p->b, p->c. Что это значит?

Буду благодарен за помощь.


#13 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 26 Апрель 2011 - 21:09

сначала отвечу клаусу:
Я на данный момент студент первого курса поэтому деньги не зарабатываю.
Программированием занимаюсь не только потому что это хобби а еще потому что собираюсь в будущем иметь работу в этйо сфере

#14 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 26 Апрель 2011 - 21:20

Помогите, пожалуйста, разобраться с кодом.

void __fastcall TForm1::click6(TObject *Sender)
{
free(data);
}

typedef struct
{
short a;
float b;
char c[16];
} A;
A data_[] =
{
{ 200, 25.178, "C++"},
{ -34, 1234.520, "FORTRAN"},
{ 5, 0.000, "Pascal"},
{ 0}
};

void __fastcall TForm1::click8(TObject *Sender)
{
res_fl->Clear();

char buf[256];

for(A *p = data_; p->a; p++)
{
sprintf(buf, "%5d %8.1f %16s", p->a, p->b, p->c);
text_fl->Lines->Add(buf);
}

}

В готовой программе выходит вот что:
200 25.2 C++
-34 1234.5 FORTRAN
5 0.0 Pascal

В связи с чем возникают вопросы:
Как работает цикл
for(A *p = data_; p->a; p++) и что является концом цикла? Почему он останавливается?
а также непонятна строка
sprintf(buf, "%5d %8.1f %16s", p->a, p->b, p->c); точнее понятна, за исключением этого p->a, p->b, p->c. Что это значит?

Буду благодарен за помощь.


ну это только часть кода, но на вопросы ответить могу.
Вот если у тебя есть структура или класс то доступ к переменным внутри этого класса осуществляется так:

classA var;
var.x = 10;

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

for(A *p = data_; p->a; p++)

У тебя есть класс А и ты обьявляешь указатель на обьект р. при этом ты вызываешь конструктор копирования с одним аргументом.
То есть -
classA *object; //обьявлен указатель на обьект класса

Потом у тебя есть такая надпись

p->a

тут
р - указатель на обьект
а - переменная внутри обьекта на который указывает р
Короче значок -> заменяет собой точку в случае если у тебя есть указатель на обьект.
И скорее всего а - это переменная логического типа.

p++

тут просто переопределена операция ++
То есть р++ просто означает вызов какой-то функции внутри р.

Если херово обьяснил или остались вопросы то задавай их.

#15 Толян

Толян

    Воин

  • Блокированные
  • Пользователь 6268
  • 573 сообщений

Отправлено 26 Апрель 2011 - 21:28

Остался вопрос вот в чем. Цикл for(A *p = data_; p->a; p++). Что является концом цикла? почему он обрабатывает только инициализированные данные, а неинициализированные вообще не берет во внимание?

#16 Толян

Толян

    Воин

  • Блокированные
  • Пользователь 6268
  • 573 сообщений

Отправлено 26 Апрель 2011 - 21:40

Правильно ли я понимаю, что если а у нас переменная логического типа, то встречая инициализированные данные она становится единицей и цикл выполняется, а встречая неинициализированные, принимает 0 и цикл заканчивается?

#17 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 27 Апрель 2011 - 21:15

хммм... ну скажем так.
Когда ты создаешь указатель на обьект то изначально он у тебя указывает в никуда.
Когда ты инициализируешь указатель то ты как бы направляешь его, застваляешь его указывать на область в памяти.
Поэтому если не проиниц. указатель то им вообще нельзя пользоватся так как это приведе к вылету программы.
А насчет цикла там такое
при обьявлении цикла for у тебя в скобочках есть три разных зоны( куски текста) разделенныъ знаком ";".
Так вот в среднем из них содержится условие от которого зависит будет ли цикл работать дальше или прекратит.
Условие обычно пишут как нибудь типа i<MAX но на самом деле в с++ условием может быть практически что угодно.
Условием может быть переменная логического или целочисленного типа. Так например я могу написать

int a = 10;
if (a)
{
//do something
}

и это будет абсолютно правильно. А в твоем случае конец цикла настанет когда p->a будет давать не true а false.
Короче тот кто писал эту прогу решил по хитрому обьявить цикл, может для своих каких то нужд а может для того чтобы
остальные не могли "проникнуть в тайны кода". Вот как то так.

#18 Русич

Русич

    Воин

  • Участники
  • Пользователь 4236
  • 191 сообщений

Отправлено 01 Май 2011 - 02:22

Ну я бывший недоученный прог. Сменил профиль обучения. А так делал успехи. Дофига чего написал. И на сях разных, и на паскале и на ассамблере, и яваскрипты тоже писал, БД и тп. На делфях больше всего писал. Помимо языков тоже много всего учил. Теории. Алгоритмы. Методы. Архитектура. Электроника и тп Специализировался на Исскуственном интеллекте(ИИ). А потом сдрочился и щас уже год почти, как я ничего не пишу. И не планирую.

#19 man93

man93

    Сильный

  • Участники
  • Пользователь 1981
  • 641 сообщений
  • Максимальный срок без онанизма: 3 месяца, 25 дней

Отправлено 01 Май 2011 - 16:52

Ну я бывший недоученный прог. Сменил профиль обучения. А так делал успехи. Дофига чего написал. И на сях разных, и на паскале и на ассамблере, и яваскрипты тоже писал, БД и тп. На делфях больше всего писал. Помимо языков тоже много всего учил. Теории. Алгоритмы. Методы. Архитектура. Электроника и тп Специализировался на Исскуственном интеллекте(ИИ). А потом сдрочился и щас уже год почти, как я ничего не пишу. И не планирую.

очень жаль... я вообщем-то когда дрочил тоже очень много времени потерял. все никак не мог начать изучение с++, откладывал на потом.
Слушай а в каком возрасте ты начал изучение всего этого материала и когда бросил?

#20 Marcus

Marcus
  • Участники
  • Пользователь 4618
  • 1 524 сообщений

Отправлено 01 Май 2011 - 17:19

Ну я бывший недоученный прог. Сменил профиль обучения. А так делал успехи. Дофига чего написал. И на сях разных, и на паскале и на ассамблере, и яваскрипты тоже писал, БД и тп. На делфях больше всего писал. Помимо языков тоже много всего учил. Теории. Алгоритмы. Методы. Архитектура. Электроника и тп Специализировался на Исскуственном интеллекте(ИИ). А потом сдрочился и щас уже год почти, как я ничего не пишу. И не планирую.

во-во. я правда начал изучать программирование самостоятельно, но с помощью дрочки и лени заметно поубавил свой IQ и интерес к технике


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных