Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2009, 19:42   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию тип записи

Добрый вечер..... У меня возникла серьезная проблема..... Я написал программу, которая описывает переменную "адрес", содержащую: название города, название улицы, номер дома, корпус, номер квартиры. Создать массив адресов. Меняет местами номер дома в N-ом адресе и номер квартиры в M-ом адресе.....
Вот исходник:

Код:
type
  address = record
    city:string;
    street:string;
    building:integer;
    corpus:integer;
    apartment:integer;
  end;

const
 N=100;
var
  addr1:address;
  arr:array[1..N] of address;
  coul:integer;
  i,house:integer;
begin
  repeat
    writeln ('введите количество записей: ');
    readln(coul);
  until (coul>0) and (coul<N);
  for i:=1 to coul do
  begin
    with arr[i] do
    begin
      writeln ('введите название города: ');
      readln(city);
      writeln ('введите название улицы: ');
      readln(street);
      writeln ('введите номер дома*: ');
      readln(building);
      writeln ('введите номер корпуса*: ');
      readln(corpus);
      writeln ('введите номер квартиры: ');
      readln(apartment);
      end;
  end;
  writeln ('введите номер дома: ');
  readln (house);
  for i:=1 to coul do
  begin
    if arr[i].building=house then
    begin
      arr[i].bulding:=arr[i].apartment;
      arr[i].apartment:=house;
      writeln ('замена местами номера дома но номер квартиры ');
      writeln ('теперь адрес выглядит так: ',arr[i]);
      readln;
    end;
  end;
end.
Мой исходничек не компилируется... Помогите мне его испрвить....
И у меня такой вопрос..... как менять местами номер N дома на номер M квартиры.....
зарание спасибо.....

From Stilet: Кот оформляй тегом #. В следующий раз тему удалю.

Последний раз редактировалось Stilet; 13.03.2009 в 08:59.
world12_tk вне форума Ответить с цитированием
Старый 12.03.2009, 20:43   #2
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
По умолчанию

Как минимум, чтобы компиллировалось нужно исправить так:
[syntax=pascal]
Код:
type
address = record
city:string;
street:string;
building:integer;
corpus:integer;
apartment:integer;
end;

const
N=100;
var
addr1:address;
arr:array[1..N] of address;
coul:integer;
i,house:integer;
begin
repeat
writeln ('введите количество записей: ');
readln(coul);
until (coul>0) and (coul<N);
for i:=1 to coul do
begin
with arr[i] do
begin
writeln ('введите название города: ');
readln(city);
writeln ('введите название улицы: ');
readln(street);
writeln ('введите номер дома*: ');
readln(building);
writeln ('введите номер корпуса*: ');
readln(corpus);
writeln ('введите номер квартиры: ');
readln(apartment);
end;
end;
writeln ('введите номер дома: ');
readln (house);
for i:=1 to coul do
begin
if arr[i].building=house then
begin
arr[i].building:=arr[i].apartment;
arr[i].apartment:=house;
writeln ('замена местами номера дома но номер квартиры ');
writeln ('теперь адрес выглядит так: ',arr[i].building);
readln;
end;
end;
end.
[/syntax]

...Тебя это тоже касается
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi

Последний раз редактировалось Stilet; 13.03.2009 в 09:00.
Gonzo вне форума Ответить с цитированием
Старый 12.03.2009, 20:49   #3
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию

большое спасибо за исправление.....
теперь все работает....
А как поменять местами номер N дома на номер M квартиры...
и я что то не понял, как мне вывести на экран всю строчку этого адреса...?
world12_tk вне форума Ответить с цитированием
Старый 12.03.2009, 21:22   #4
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
По умолчанию

Чтобы поменять местами нужна еще одна переменная такого же типа, например buf. Механизм такой: запоминаем в buf номер N дома, номеру N дома присваиваем номер M квартиры, номеру M квартиры присваиваем значение переменной buf. Такой механизм актуален для всех случаев обмена значениями. Чтобы вывести "всю строчку этого адреса" нужно вывести все поля.
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi
Gonzo вне форума Ответить с цитированием
Старый 12.03.2009, 22:03   #5
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию

хм..... вроде бы понятно..... а вот как вывести все поля? типо:
writeln('теперь адрес выглядит так: ',arr[i].city,arr[i].street,arr[i].building,arr[i].corpus,arr[i].apartment); или как то подругому?
world12_tk вне форума Ответить с цитированием
Старый 12.03.2009, 22:37   #6
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
По умолчанию

именно так
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi
Gonzo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внести в задачу пару условий,пожалуйста помогите(Pascal-record)тип записи... Andrux Помощь студентам 2 15.02.2009 17:51
[Delphi] Комбинированный тип данных (записи) n01R Помощь студентам 2 17.12.2008 20:39
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13
данные о видеосистеме: тип видеоадаптера, тип монитора, режим монитора: разрешение, частота обновления WaxeP Win Api 9 15.04.2007 18:12
Программа использующая записи (тип данных) GN_ Общие вопросы Delphi 6 13.01.2007 19:16