Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Записи (http://www.tehnari.ru/f41/t31776/)

Ins1s 07.01.2010 11:55

Записи
 
Написать программу *Ирония судьбы*, определяющую,есть ли 2 человека, живущих в разных городах по одному адресу!

Ins1s 07.01.2010 11:58

Я вот сделал .. но не пашет ..ошибка... и мне нужно еще чтобы города и улицы задавались буквами а не как у меня цифрами....

Ins1s 07.01.2010 11:59

program upoHu9;
type cheJIoBek=record
gorod: string[2];
yJIuILa: 1..2
end;
var g,y:array [1..2] of cheJIoBek;
i:integer;
begin
for i:= 1 to 2 do
with g [i] do begin
writeln ('введите город');
readln (gorod);
writeln ('введите улицу');
readln (yJIuILa);
writeln;
end;
for i:=1 to 2 do
with g [i] do if yJIuILa < 2
then writeln ('adreca raBni eto cyDb6a' );
readln;
end.

AlexZir 07.01.2010 12:08

Для начала в записи определите длину выражения не в 2 символа, а, по крайней мере, в 30, причем строковыми должны быть обе переменные (и gorod и yJIuILa). Большинство названий городов и улиц вполне будут укладываться в эту длину.

Массив задавайте, не опираясь на запись, к примеру, из N элементов. Место в памяти под него программа выделит самостоятельно.

Кстати, почему вы проверяете именно 2 адреса, а не больше?

Массив y вам тоже не нужен!

Ins1s 07.01.2010 12:14

ну у меня 2 человека :) вот поэтому 2 адреса.. а все менял у меня стока ошибок потом выходит ..тип не соответствует и еще че нибудь...:(

Vladimir_S 07.01.2010 12:16

Цитата:

Сообщение от AlexZir (Сообщение 279014)
Для начала в записи определите длину выражения не в 2 символа, а, по крайней мере, в 30, причем строковыми должны быть обе переменные (и gorod и yJIuILa). Большинство названий городов и улиц вполне будут укладываться в эту длину.

А я бы посоветовал просто тип STRING, без задания длины. В этом случае длина определится сама.

Vladimir_S 07.01.2010 12:19

Цитата:

Сообщение от Ins1s (Сообщение 279015)
ну у меня 2 человека :) вот поэтому 2 адреса.. а все менял у меня стока ошибок потом выходит ..тип не соответствует и еще че нибудь...:(

Ну так и попробуйте, как Вам советуют:

type cheJIoBek=record
gorod: string;
yJIuILa: string;
end;

Или так:

type cheJIoBek=record
gorod: string[30];
yJIuILa: string[30];
end;

Да, кстати и проверка выполнена неправильно. Надо так:

for i:=1 to 2 do
with g [i] do if yJIuILa < 2 - убрать!

if g[1].yJIuILa=g[2].yJIuILa then
writeln ('adreca raBni eto cyDb6a' );
readln;

Ins1s 07.01.2010 12:23

окей _ сей час

Ins1s 07.01.2010 12:31

благодарю вас получилось!=)


Часовой пояс GMT +4, время: 01:21.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.