IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> неправильная работа со строками в TP 7
Altair
сообщение 21.12.2003 7:26
Сообщение #1


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


напишем программу:

Код
var s : string[10];
     b : byte;
begin
for b :=1 to 10 do begin writeln('s[',b,']='); readln(s[b]) end;
{  это мы ввели посимвольно строку }

{ for b:=1 to 10 do s:=s+s[b];   }  {*******}

writeln('s=',s);  

{ ПОЧЕМУ СТРОКА НЕ ВЫВОДИТСЯ ? }
{ теперь раскоментируйте *******  и ВСЕ ПОЛУЧИТСЯ! }

end.


ПОЖАЛУЙСТА, ОБЪЯСНИТЕ ЭТО МНЕ, ЕСЛИ ЗНАЕТЕ! ??? ???

Сообщение отредактировано: volvo - 17.12.2004 21:18


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
SKVOZNJAK
сообщение 1.01.2004 10:41
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Круто он всех подколол! А заменить поэтапно операторы на альтернативные никто не догадался ;)
Код

uses crt;
var
s:   string[10];
R:   STRING;
Q,b: byte;
LABEL 1;
begin
FOR Q:=1 TO 20 DO IF KEYPRESSED=TRUE THEN READKEY;
WRITELN;
for b :=1 to 10 do begin
     writeLn('s[',b,']=');
     S[B]:=READKEY;
1: FOR Q:=1 TO 20 DO IF KEYPRESSED=TRUE THEN READKEY; DELAY(400);
IF KEYPRESSED=TRUE THEN GOTO 1;
     end; writeln('aaaaaaaa]]]GTRETRETREWOIKREWREWOPKREWOPKREWOPKREW]]]]]]]]'); writeln('s=',s); {А ВОТ НЕ БУДЕТ РАБОТАТЬ!}
WRITELN;
R:=S;            {ЭТО ТОЖЕ НЕ БУДЕТ!!!!!!}
WRITELN('ОПЕРАЦИЯ ПРИСВАИВАНИЯ НЕ РАБОТАЕТ','   ',R);
FOR Q:=1 TO 10 DO R[Q]:=S[Q];
WRITELN('А ВО ТЕПЕРЬ...','   ',R);
WRITE('R=');
FOR Q:=1 TO 10 DO WRITE(R[Q]);
WRITELN;
WRITE('Q=');
FOR Q:=1 TO 10 DO WRITE(S[Q]);
end.
ИТАК, МЫ ПОЛУЧИЛИ СТРОКУ СО СВОЙСТВАМИ МАССИВА. А НУЛЕВОЙ СИМВОЛ ЗДЕСЬ ВООДЩЕ НЕ ПРИЧЕМ.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.06.2025 2:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"