Программеры и ламеры
|
|
Dimon4iK-ERA | Дата: Четверг, 03.11.2011, 19:25 | Сообщение # 1 |
Группа: Удаленные
| Итак, мои юные программеры и кодеры... надеюсь, что среди всего этого планктона ламеров найдутся понимающие люди... а дело вот в чем.
Какого черта не работает обнуление переменной в следующем коде? но перед этим немного о всем коде, собственно (TP офк)
Наша "шапочка"
--------- program Logic; uses crt; var com: string; num,fnum: integer; a,b,c: integer; ca,cb: integer; ua,ub,uc: integer; tua,tub,tuc: integer; t,f: integer; ----------
P.S.: Не юзаю массивы, ибо не для себя пишу, а по программе. Зачем столько строк? Заставляют разделять переменные на, так сказать, подгруппы (визуально) в соответствии с областью применения, на этот счет не заморачивайтесь.
Далее идет составление 3-х значного числа, рандомного и таким образом, что ни одна цифра из числа не повторяется.
---------- begin clrscr; Writeln('bla bla bla'); ReadKey; randomize; a:=random(10); b:=random(10); repeat randomize; if b=a then b:=random(10); until b<>a; c:=random(10); repeat if c=a then c:=random(10); if c=b then c:=random(10); until c<>a and b; ca:=a*100; cb:=b*10; fnum:=a+b+c; ---------------
Отлично, число мы сгенерировали. Далее идет фича, что когда мы вводим число (3-хзначное), то система проверяет цифры и если они совпадают, то выводит результат. Но фишка в том, что данная операция проводиться циклом, то есть пока число не будет угадано. Перед каждым разом мы обнуляем переменную t и f, но она ничерта не обнуляется, делаю я это так:
-------------- repeat t:=0; f:=0; Writeln('bla bla bla'); Readln(num); {Тут мы вписываем число и оно загоняется в переменную} Writeln('bla bla bla'); ReadKey; ua:=num div 100; {таким образов вычисляется цифра, которая опр. сотни} if ua=a then t:=t+1; ub:=(num-(ua*100)) div 10; {таким образом вычисляется цифра. которая опр. десятки} if ub=b then t:=t+1; uc:=num - ((ua*100) + (ub*10)); {так мы находим недостающие нам единицы} if uc=c then t:=t+1; Writeln('bla bla bla',t,'!'); Readkey; until t=3; end. --------------
Все бы хорошо, но вот наша переменна t ничерта не обнуляется. Проверял это методом высвечивания сгенерированного числа и подборами. Если угадал 2, то в следующем случае, если должно быть 0 все равно будет 2. пробывал обнулять в разных местах цикла... все напрасно.
Собственно, если заметили ошибки в коде, кидайте своим мнение... если надо подробнее объяснить.. тоже пишите.
|
|
| |
Nevernight | Дата: Четверг, 03.11.2011, 19:33 | Сообщение # 2 |
Life Is Good
Группа: Мудаки
Сообщений: 476
| Паскаль уг, там возможностей - 0
Димон вонючка :3
|
|
| |
Dimon4iK-ERA | Дата: Четверг, 03.11.2011, 19:35 | Сообщение # 3 |
Группа: Удаленные
| Quote (Nevernight) Паскаль уг, там возможностей - 0 ага, а то что делфи происходит от OP ничто офк
Мне по школе нужно
|
|
| |
Nevernight | Дата: Четверг, 03.11.2011, 19:46 | Сообщение # 4 |
Life Is Good
Группа: Мудаки
Сообщений: 476
| Dimon4iK-ERA, От Креола: Поставь обнуление ПОСЛЕ проверки условия t=3.
Димон вонючка :3
|
|
| |
IronGuard | Дата: Четверг, 03.11.2011, 19:46 | Сообщение # 5 |
 Уровень 4
Группа: Премиум
Сообщений: 492
| Попробуй поставить обнуление после проверки условия t=3.
Сообщение отредактировал IronGuard - Четверг, 03.11.2011, 19:50 |
|
| |
Dimon4iK-ERA | Дата: Четверг, 03.11.2011, 19:53 | Сообщение # 6 |
Группа: Удаленные
| Quote (IronGuard) Попробуй поставить обнуление после проверки условия t=3. Quote (Nevernight) Поставь обнуление ПОСЛЕ проверки условия t=3. после команды until в случае невыполнения условия цикл начинается сначала и обнуление происходить не будет. Цикл будет завершенным если условие выполнено, тогда лишь начнутся выполняться последующие действия (end.) в моем случае... но для прикола попробую :3
P.S.: вы это наугад подсказали же? =\
|
|
| |
FatMadCow | Дата: Четверг, 03.11.2011, 22:53 | Сообщение # 7 |
Ежик
Группа: Премиум
Сообщений: 1484
| Паскаль...бррр
|
|
| |
Dimon4iK-ERA | Дата: Четверг, 03.11.2011, 22:59 | Сообщение # 8 |
Группа: Удаленные
| FatMadCow, мне именно в ТурбоПаскале нужно
|
|
| |
IronGuard | Дата: Четверг, 03.11.2011, 23:03 | Сообщение # 9 |
 Уровень 4
Группа: Премиум
Сообщений: 492
| Quote (Dimon4iK-ERA) вы это наугад подсказали же? =\ Нам это Креол сказал
|
|
| |
FatMadCow | Дата: Четверг, 03.11.2011, 23:05 | Сообщение # 10 |
Ежик
Группа: Премиум
Сообщений: 1484
| Quote (Dimon4iK-ERA) t:=t+1 В паскале нету "не равно" и инкремента?Добавлено (04.11.2011, 00:05) --------------------------------------------- Dimon4iK-ERA, может у тебя t где-то в коде меняет свой тип с int на другой какой-то и поэтому обнуляется?
|
|
| |
Dimon4iK-ERA | Дата: Четверг, 03.11.2011, 23:07 | Сообщение # 11 |
Группа: Удаленные
| Quote (FatMadCow) В паскале нету "не равно" и инкремента? <> - не равно Quote (FatMadCow) инкремента щито?! Quote (FatMadCow) t где-то в коде меняет свой тип с int на другой низя
|
|
| |
FatMadCow | Дата: Четверг, 03.11.2011, 23:14 | Сообщение # 12 |
Ежик
Группа: Премиум
Сообщений: 1484
| Quote (Dimon4iK-ERA) щито?! ffu t=t+1 ==> t++ - инкремент
Добавлено (04.11.2011, 00:14) --------------------------------------------- Quote Инкремент — следующий базовый элемент. (Это не +1) Это именно СЛЕДУЮЩИЙ базовый элемент. P.S. Тот бред ниже переписывайте сами... ы
|
|
| |
Dimon4iK-ERA | Дата: Четверг, 03.11.2011, 23:18 | Сообщение # 13 |
Группа: Удаленные
| Quote (FatMadCow) t=t+1 ==> t++ надо попробывать юзнуть Quote (FatMadCow) Инкремент — следующий базовый элемент. (Это не +1) Это именно СЛЕДУЮЩИЙ базовый элемент. P.S. Тот бред ниже переписывайте сами... респект редактору  Добавлено (03.11.2011, 23:18) ---------------------------------------------
Quote (FatMadCow) на сайте время не переведено fxd
|
|
| |
IronGuard | Дата: Четверг, 03.11.2011, 23:23 | Сообщение # 14 |
 Уровень 4
Группа: Премиум
Сообщений: 492
| Dimon4iK-ERA, теперь время сайта отстает от моего на 2 часа? Я этого не переживу
|
|
| |
FatMadCow | Дата: Четверг, 03.11.2011, 23:31 | Сообщение # 15 |
Ежик
Группа: Премиум
Сообщений: 1484
| тут есть строки, функции и библиотеки?
|
|
| |
Sensei | Дата: Пятница, 04.11.2011, 06:46 | Сообщение # 16 |
 TZ: Крей'Джин
Группа: Премиум
Сообщений: 169
| Quote (Dimon4iK-ERA) Мне по школе нужно Я перешел в этом году в новую школу в 9 класс. Так вот там такой п****ц с информатикой! Язык програмирования С у нас! капец какая хрень.
Войско баранов, возглавляемое львом, всегда одержит победу над войском львов, возглавляемых бараном. ©Наполеон Бонапарт ------------------------------
|
|
| |
Dimon4iK-ERA | Дата: Пятница, 04.11.2011, 14:37 | Сообщение # 17 |
Группа: Удаленные
| Quote (FatMadCow) тут есть строки, функции и библиотеки? в самом паскале да офк.
у меня в коде они не нужны.
|
|
| |
FatMadCow | Дата: Пятница, 04.11.2011, 17:07 | Сообщение # 18 |
Ежик
Группа: Премиум
Сообщений: 1484
| Dimon4iK-ERA, просто хз как в паскале, но в С есть функция, которая делает то, что ты пытаешь сделать почти всем своим кодом Quote (Sensei) Язык програмирования С у нас! могу помочь
|
|
| |
Sensei | Дата: Суббота, 05.11.2011, 03:48 | Сообщение # 19 |
 TZ: Крей'Джин
Группа: Премиум
Сообщений: 169
| Quote (FatMadCow) могу помочь спс, но у меня соседу 21 год, програмист везет мне пока что
Войско баранов, возглавляемое львом, всегда одержит победу над войском львов, возглавляемых бараном. ©Наполеон Бонапарт ------------------------------
|
|
| |
Tovarish_Kreol | Дата: Суббота, 05.11.2011, 11:18 | Сообщение # 20 |
Уровень 3
Группа: Cовы
Сообщений: 299
| Quote (FatMadCow) Язык програмирования С у нас! Везёт -_-
|
|
| |
Dimon4iK-ERA | Дата: Воскресенье, 06.11.2011, 11:27 | Сообщение # 21 |
Группа: Удаленные
| -WTF-Amazing,
|
|
| |