Паскаль. Даны два символьных массива...
В последовательности символов, вводимых с клавиатуры , подсчитать количество пар символов "*". Признак завершения ввода: два символа "+".
|
Я так понял время к зачетной неделе в учебных заведениях идет ?
И от клубов, девочек, компьютерных игр, вдруг надо резко перейти к программированию ? Да тяжело вам :( Приведите свой пример решения задачи, а мы если что подправим ... |
к сожалению нет,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. |
Данный пример не завершает программу после ввода 2 "+" подряд
|
Уже лучше :)
Во первых переменная к не инициализирована, перед циклом repeat сделайте k:=0; Во вторых зачем вы в цикле делаете x:=y; ? вы тем самым сбиваете условие выхода из цикла Перед первым readln в цикле я бы сделал что нибудь типа writeln('Введите следующую пару символов');, что бы не путаться когда вводить следующую пару Ну и раз в задаче речь идет о массивах, наверное надо было бы по идее (я так думаю) сначала заполнить эти массивы и лишь потом считать количество пар '*' - но это на ваше усмотрение Да и условие выхода из цикла не верно надо или until (x<>'+') or (y<>'+'); или уж until not ((x='+') and (y='+')); |
Цитата:
Цитата:
Цитата:
Тут другое... Вопрос четности. А представьте себе, что вводится последовательность 1 * * 5 В таком случае, пара звёздочек будет пропущена и не учтена, поскольку они входят в разные двойки чисел. Ладно, сейчас нарисую. |
Нет с массивами я напутал,вот сама задача-В последовательности символов, вводимых с клавиатуры , подсчитать количество пар символов "*". Признак завершения ввода: два символа "+".
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 + |
Вот, как вариант полностью отлаженной программы:
Код:
var |
Цитата:
А если просто последовательность символов, то конечно writeln надо убрать ... так все проще , сейчас если до Володи успею то нарисую :) ЗЫ. Не успел :)) |
Все хорошо,конечно,но опять же программа после ++ не завершается((
|
Часовой пояс GMT +4, время: 21:09. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.