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

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

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

> Задача на Record
Art87
сообщение 19.10.2005 9:45
Сообщение #1


snoWolf
**

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

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


Задача такая
Сформировать массив сведений о наличии учебников в библиотеке, следующей структуры: автор, название, шифр книги, количество экземпляров, год издания.
Получить список новых изданий.

Программа

program z2;
var o:char;
i,n:integer;
year: string;
a: array [1..50,1..5] of string;
begin
year:='2005';
writeln ('Please input quantity of elements:');
readln(n);
for i:=1 to n do begin
writeln('Please input new element (Autor, Name, Code, Quantity ex. and Year');
readln(a[i,1]);
readln(a[i,2]);
readln(a[i,3]);
readln(a[i,4]);
readln(a[i,5]);
end;
for i:=1 to n do begin
if a[i,5]=Year then begin

writeln(i+': '+a[i,1]+' '+a[i,2]+' '+a[i,3]+' '+a[i,4]+' ' + a[i,5]);
{ !!! Вот здесь вывод строки, а выдается ошибка !!! }

end;
end;
end.


Подскажите.

Сообщение отредактировано: volvo - 19.10.2005 9:51


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
volvo
сообщение 19.10.2005 9:48
Сообщение #2


Гость






writeln(i, ': '+a[i,1]+' '+a[i,2]+' '+a[i,3]+' '+a[i,4]+' ' + a[i,5]);
(обрати внимание, что идет после i) smile.gif

Ошибка была в том, что ты пытался "перемешать" типы String и Integer, чего компилятор, естественно, не позволит сделать...
 К началу страницы 
+ Ответить 
klem4
сообщение 19.10.2005 10:06
Сообщение #3


Perl. Just code it!
******

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

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


Прошу прощения я просто невъехал сначала, надо всего навсего заменить все плюсы на запятые и получишь на экране то, что хотел.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.10.2005 10:09
Сообщение #4


Гость






Не надо ничего больше менять. Все будет прекрасно работать (все данные объединятся в одну строку, и она будет выведена на экран). Чем именно тебе этот подход не нравится?
 К началу страницы 
+ Ответить 
Art87
сообщение 19.10.2005 10:12
Сообщение #5


snoWolf
**

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

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


А конкретно то что сделать, я не понял.


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 19.10.2005 10:15
Сообщение #6


Perl. Just code it!
******

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

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


:fire: Да я не прав. Извиняюсь еше раз ! Не досмотерл что массив то из строк ... Извините никак не хотел нарушать правил :molitva:


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.10.2005 10:16
Сообщение #7


Гость






Art87,
См. пост №2
 К началу страницы 
+ Ответить 
Art87
сообщение 19.10.2005 10:31
Сообщение #8


snoWolf
**

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

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


Пардон, сразу не заметил smile.gif
Все заработало. Спасибо огромное.


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Art87
сообщение 8.11.2005 7:17
Сообщение #9


snoWolf
**

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

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


А ка эту же задачу именно через record сделать?


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.11.2005 9:06
Сообщение #10


Гость






А заменить матрицу массивом записей никак нельзя догадаться?
program z2;
type
myrec = record
Autor,
Name,
Code,
Quantity,
Year: string;
end;
var
o:char;
i,n:integer;
s_year: string;
a: array [1..50] of myrec;
begin
s_year:='2005';
writeln ('Please input quantity of elements:');
readln(n);
for i:=1 to n do begin
writeln('Please input new element (Autor, Name, Code, Quantity ex. and Year');
with a[i] do begin
readln(Autor); readln(Name); readln(Code); readln(Quantity); readln(Year);
{
или просто:
readln(Autor, Name, Code, Quantity, Year);
}
end;
end;

for i:=1 to n do begin
if a[i].Year=s_year then
with a[i] do
writeln(i, ': '+Autor+' '+Name+' '+Code+' '+Quantity+' '+Year);
end;
end.
 К началу страницы 
+ Ответить 

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

 



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