|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2008, 22:22 | #1 |
Скоро сессия...
Форумчанин
Регистрация: 03.01.2008
Сообщений: 224
|
Записи
Отобрать работников с одинаковыми именами.
Прога работает.. не определяет одинаковые имена... Uses crt; Type Worker = record End; Var Num : word; Imena:string; Workers:array[1..30] of worker; s1,s2: string; i: byte; begin clrscr; writeln ('Имена'); readln('imena'); if s1[i] =s2[i] then writeln ('Одинаковые имена'); readln; readkey; end. в техникуме недопонял. подскажите что да как.. если есть возможность и желание, вкратце ,плиз, описание функции, которую надо использовать... |
12.01.2008, 22:30 | #2 |
Регистрация: 11.01.2008
Сообщений: 6
|
writeln ('Имена');
readln('imena'); 1. здесь Вам надо ввести НЕСКОЛЬКО, как я понимаю, 30 имен (Workers:array[1..30] of worker, а в проге вводится одно. 2. здесь if s1[i] =s2[i] then writeln ('Одинаковые имена'); Вы определяете наличие одинаковых имен в массиве, а переменную i не изменяете. и в том, и в другом случае Вам поможет for от 1 до 30 =) |
12.01.2008, 22:31 | #3 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
чтото непонятное ты написал....
Код:
S[i] - означает что ты обращаешся к определённому симаолу строки где i - порядковый номер элемента.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
12.01.2008, 22:47 | #4 |
Скоро сессия...
Форумчанин
Регистрация: 03.01.2008
Сообщений: 224
|
ПРинял! Буду учиться! только недопонял в одном случае - как мне нужно ввести 30 имен? какой функцией это лучше сделать? Спасибо
|
12.01.2008, 23:10 | #5 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
А почему не массив?
Один двумерный массив и всё....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
12.01.2008, 23:17 | #6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Ты создал тип
Type Worker = record End; Но не описал поля, вместо этого вводишь то, что должно быть полями. У тебя массив Workers:array[1..30] of worker; пустой. Нужно Type Worker = record Num : word; Imena:string; End; Тогда в массиве будут после введения данные о работниках, к которым нужно обращаться так: Workers[i].Num-номер i-го работника, Workers[i].Imena-имя i-го работника. Названия полей у тебя какие-то неудачные, обычно используют фамилию и имя (например Workers[i].fam и Workers[i].nam). Вообще надо почитать про этот тип данных, иначе здесь лекцию надо читать. Последний раз редактировалось puporev; 12.01.2008 в 23:19. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Записи | Rio309 | Помощь студентам | 1 | 15.03.2008 22:23 |
Записи | RECREATOR | Помощь студентам | 3 | 25.12.2007 10:58 |
записи | 11111 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.11.2007 15:28 |
Записи | zzzzz | Помощь студентам | 1 | 25.05.2007 16:26 |