Хай! подскажите, почему запрос на ввод числа а, запрашивается на один раз меньше чем надо. Запрос зависит от введенного числа n. (Код см.ниже) Спасибо.
Доброе время суток, MaD! ты каждый раз уменьшаешь n, что не верно. 1. убери лишний иф 2. всюду в цикле замени n на n - i все будет тип-топ. Ответ отправлен: 13.10.2003, 09:13 Отправитель: vitya Отвечает BOLT
Приветствую Вас, MaD! ставь i <= n , так будет выполнятся n раз.
Will Smith: I am going to Miami! Welcome to Miami! This message was created by EMan 1.5
Ответ отправлен: 13.10.2003, 19:14 Отправитель: BOLT Отвечает Jact M Anchorite
Доброе время суток, MaD! Хм... Тебе трудно написать for(int i=0;i Ответ отправлен: 13.10.2003, 14:13 Отправитель: Jact M Anchorite
Вопрос № 1146
В иституте начали изучать С и на лабах нам дали такое задание: переделать прогу, которую мы до этого написали на Паскале, на С. И вот во время этого самого "переделывания" возникла такая проблемка, которую пытаюсь решить уже третий час . Вот как было на Паскале ... while (ifld<>recs[cur].fld1) do... ... Вот что я написал на С: while ((!strcmp(&ifld, &recs[cur].fld1))) {...} И естесственно компилятору, в прочем как и мне , не нравится выражение &recs[cur].fld1. Помогите, плиз!
а это определения данных: typedef struct { char fld1[20], fld2[20], fld3[20]; int fld4; }db_line;
Добрый день, Leonid! Надо так while ((!strcmp(ifld, recs[cur].fld1))) {} или так while ((!strcmp(&ifld[0], &recs[cur].fld1[0]))) {} С уважением, Avl2k. Ответ отправлен: 13.10.2003, 12:58 Отправитель: Avl2k Отвечает Morgion
Здравствуйте, Leonid! &recs[cur].fld1- разбираем. recs- указатель на массив. [cur]- соответственно элемент этого массива (структурка) .fld1- массив, что эквивалентно указателю, поэтому можешь смело стереть свой &, и получше разоброаться с указателями. Ответ отправлен: 14.10.2003, 13:47 Отправитель: Morgion Отвечает BOLT
Приветствую Вас, Leonid! Вообще-то по идее иму не должно нарвится вот это
db_line recs[n]; char ifld[255];
n- должна быть константой. Если нужно реализовать динамически, тогда доступ к членам структуры реализовывается косвеной адресацией - "->".
Will Smith: I am going to Miami! Welcome to Miami! This message was created by EMan 1.5
Ответ отправлен: 13.10.2003, 19:15 Отправитель: BOLT Отвечает vitya
Добрый день, Leonid! правильный код while (strcmp(ifld, recs[cur].fld1)) { } так как strcmp 0 возвращает, если строчки равны. Ответ отправлен: 13.10.2003, 15:14 Отправитель: vitya Отвечает Jact M Anchorite
Доброе время суток, Leonid! Попробуй так: Определение данных: typedef struct { char *fld1[20], *fld2[20], *fld3[20]; int fld4; }db_line; const n=2; db_line recs[n]; char *ifld Заголовок цикла: while(!strcmp(ifld,*recs[1].fld1)) (Кстати, а на кой ты заголовок цикла в двойные скобки брал???) Jact M Anchorite.
Ответ отправлен: 13.10.2003, 14:14 Отправитель: Jact M Anchorite Отвечает ViRUS
Приветствую Вас, Leonid! Попробуй вот-так: while ((!strcmp(&ifld, &recs[cur]->fld1))) вместо '.' поставь '->'.
Ответ отправлен: 14.10.2003, 12:24 Отправитель: ViRUS
Вопрос № 1147
Зравствуйте,уважаемые эксперты! Я решил начать изучать Visual C++ и попытался найти книгу (не в виртуальном виде), где подробно и с хорошими примерами объясняется синтаксис языка. Но ничего подходящего я так и не нашел. Попался Секунов "Visual C++.NET",а также Страуструп "Язык программирования C++".Но в первой книге,по-моему, очень плохо объясняется код, а вторая просто объясняет синтаксис без примеров именно на Visual C++. Посоветуйте пожалуйста подходящую для меня книгу! Оч. надо.Желательно про VC++.NET
Добрый день, HEX! Сам язык я изучил по книги "Язык программированния С++. Лекции и упражения. Учебник." Стивена Прата. Я VC++ .NET я изучаю по MSDN, хотя советую купить книгу - легче будет.
Will Smith: I am going to Miami! Welcome to Miami! This message was created by EMan 1.5
Ответ отправлен: 13.10.2003, 19:15 Отправитель: BOLT
Вопрос № 1148
Здравствуйте. Чему равно число 4.2461e-314 (т.е. как оно будет выглядеть в форме 0.004246 )
Добрый день, Hlop! Э, батенька... какое маленькое число... Энто ж 4.2461 умноженное на десять в степени -314!!!
Ответ отправлен: 14.10.2003, 05:52 Отправитель: Jact M Anchorite Отвечает vitya
Приветствую Вас, Hlop! будет 0. потом еще 313 нулей а потом 42461 Ответ отправлен: 14.10.2003, 09:27 Отправитель: vitya Отвечает ViRUS
Добрый день, Hlop! Отсчитай 314 нулей после запятой... :) Приколист!
Ответ отправлен: 14.10.2003, 12:03 Отправитель: ViRUS Отвечает BOLT
Доброе время суток, Hlop! 4,2461*10^-314 или по-русски: 4,2461 умножить на 10 в степени минус 314.
RUN-D.M.C.: Hard times are coming to your town So stay alert, don't let them get you down
This message was created by EMan 1.5
Ответ отправлен: 16.10.2003, 17:26 Отправитель: BOLT Отвечает Marouder
Здравствуйте, Hlop! Посчитать трудно? Сдвинь десятичную точку на 314 знаков влево. Ответ отправлен: 14.10.2003, 07:40 Отправитель: Marouder
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.