|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Member
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Посмотрите, может быть в обсуждаемых топиках проблема уже решена Паскаль. Проверить наличие одинаковых элементов массива Паскаль. Методы работы с элементами массива Даны два массива по 15 элементов Обработка символьных строк |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
![]()
Я так понял время к зачетной неделе в учебных заведениях идет ?
И от клубов, девочек, компьютерных игр, вдруг надо резко перейти к программированию ? Да тяжело вам ![]() Приведите свой пример решения задачи, а мы если что подправим ... |
![]() |
![]() |
![]() |
#3 (permalink) |
Member
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
к сожалению нет,2 недели бьюсь над программой,но либо символы считает неверно,либо программу завершает неверно.
program mg4000; var x,y:char; k:integer; begin repeat readln(x); readln(y); if (x='*') and (y='*') then inc(k); x:=y; until (x='+') and (y='+'); readln; writeln('k='k ); end. |
![]() |
![]() |
![]() |
#5 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
![]()
Уже лучше
![]() Во первых переменная к не инициализирована, перед циклом repeat сделайте k:=0; Во вторых зачем вы в цикле делаете x:=y; ? вы тем самым сбиваете условие выхода из цикла Перед первым readln в цикле я бы сделал что нибудь типа writeln('Введите следующую пару символов');, что бы не путаться когда вводить следующую пару Ну и раз в задаче речь идет о массивах, наверное надо было бы по идее (я так думаю) сначала заполнить эти массивы и лишь потом считать количество пар '*' - но это на ваше усмотрение Да и условие выхода из цикла не верно надо или until (x<>'+') or (y<>'+'); или уж until not ((x='+') and (y='+')); |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#6 (permalink) | |||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Цитата:
Цитата:
Тут другое... Вопрос четности. А представьте себе, что вводится последовательность 1 * * 5 В таком случае, пара звёздочек будет пропущена и не учтена, поскольку они входят в разные двойки чисел. Ладно, сейчас нарисую. |
|||
![]() |
![]() |
![]() |
#7 (permalink) |
Member
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Нет с массивами я напутал,вот сама задача-В последовательности символов, вводимых с клавиатуры , подсчитать количество пар символов "*". Признак завершения ввода: два символа "+".
program mg4000; var x,y:char; k:integer; begin k:=0; repeat writeln('Введите следующую пару символов'); readln(x); readln(y); if (x='*') and (y='*') then inc(k); until (x='+') and (y='+'); readln; writeln('k='); end. завершает программу после 3 + |
![]() |
![]() |
![]() |
#8 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Вот, как вариант полностью отлаженной программы:
Код:
var x,y:char; k:integer; b:boolean; Begin k:=0; write('First symbol: '); readln(x); Repeat write('Next symbol: '); readln(y); b:=(x='+') and (y='+'); if (x='*') and (y='*') then inc(k); x:=y; Until b; writeln('k = ',k); readln; End. |
![]() |
![]() |
![]() |
#9 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
![]()
Ну так условие until не верно , и да у я не совсем правильно понял условия задачи ..., я то думал что два массива заполняется (так как в теме топика написано про два массива зачем то
![]() А если просто последовательность символов, то конечно writeln надо убрать ... так все проще , сейчас если до Володи успею то нарисую ![]() ЗЫ. Не успел ![]() |
![]() |
![]() |
![]() |
#10 (permalink) |
Member
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Все хорошо,конечно,но опять же программа после ++ не завершается((
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|