Цитата(CormiX @ 27.12.2009 12:12)

Так? Только есл я глупость написал то не смейтесь, я ток позавчера начал Паскаль учить)
все в голове в перемешку)
Давай упорядочивать твою перемешку.
flag - это булева переменная. Если ты еще не учил про такой тип, советую обратиться к учебнику. Без такой переменной в этой задаче, конечно, можно обойтись, но это будет не совсем естественно. Поэтому прочитай про них. Могу начать объяснение..
Переменная типа boolean (от Булевой алгебры, которая названа по имени основателя основателя Джорджа Буля) может принимать только два значения: ложь или правда. В Паскале это совпадает с английским написанием: false и true. Булева переменная может быть использована везде, где может стоять условие - например, в операторе if .. then или while .. do или repeat .. until. Значение можно задавать либо константой (false, true), либо вычислением условия (типа x>0).
В нашем примере мы сначала устанавливаем значени флага в ложь (флаг не поднят). Затем, когда встречается первое ":", занчение становится not false. то есть правда (флаг поднят). При поднятом флаге срабатывает второй if и символы выводятся на печать. Затем, когда снова встречается ":", значение флага становится not true (флаг сбрасывается), и вывод символов прекращается.
После begin тебе нужно организовать ввод символьного массива s1. Попроьуй это сделать и паокажи результат.