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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2018, 21:26   #1
Ymti
 
Регистрация: 15.05.2018
Сообщений: 6
Сообщение PascalABC.net СТЕК Найти квартиру с минимальной средней площадью комнаты. Средняя площадь комнаты определяется как (общая площадь квартиры)/(количество комнат).

Помогите пожалуйста с 1 или 2 заданием (можно с обеими если есть желание). Не могу понять как это сделать.
Запись с полями: адрес квартиры; количество комнат; общая площадь квартиры. 1. Найти квартиру с минимальной средней площадью комнаты. Средняя площадь комнаты определяется как (общая площадь квартиры)/(количество комнат).
2. Скопировать в новый стек информацию о четырехкомнатных квартирах, общая площадь которых больше заданного значения.
Код:
type 
 FSB = record
   adr: string;
    kvart: integer;
    pl: integer;
    
  end;

type  celltype = record 
		info: FSB; 
		next: ^ celltype 
	end; 
	STACK = ^ celltype; 
	
var top: STACK;

function Empty(top: STACK): boolean;
begin
  Empty:= Top=nil;
end; 

procedure Push(z: FSB; var top: STACK);
Var p: STACK;
begin
  new(p);
  p^.next:= top;
  p^.info:= z;
  top:=p;
end; 	

procedure LoadToBd(fn: String; var top: stack);
var  f: text;
  a: FSB;
begin
  assign(f, fn);
  reset(f);
  while not eof(f) do
  begin
    readln(f, a.adr);
    readln(f, a.kvart);
    readln(f, a.pl);
   
    push(a,top);
  end;
  close(f);
end;

procedure Pop(var top: STACK; var x: FSB);
Var p: STACK;
begin
  if Empty(top)=False then begin
	p:= top^.next;
	x:=top^.info; 
	dispose(top); 
	top:=p; 		   
  end  else
	 writeln('стек уже пуст');
end;  

procedure WriteStack(var top: stack);
var
  temp: stack;
  z: FSB;
begin
  while top<>nil do
  begin
    pop(top, z);
    push(z, temp);
    Writeln(z);
  end;
  
  while temp<>nil do
  begin
    pop(temp, z);
    push(z, top);
  end;
end;


var
  z:FSB;
  p: Integer;

begin
  top := nil;
  LoadToBd('laba1.txt',top);
  WriteStack(top);

 
end.

Последний раз редактировалось Ymti; 24.05.2018 в 22:43. Причина: Не правильная формировка просьбы о помощи.
Ymti вне форума Ответить с цитированием
Старый 24.05.2018, 22:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а чем Вас ваша прошлая тема не устроила?
http://www.programmersforum.ru/showthread.php?t=319910
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.05.2018, 22:34   #3
Ymti
 
Регистрация: 15.05.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а чем Вас ваша прошлая тема не устроила?
http://www.programmersforum.ru/showthread.php?t=319910
Извините плохо объяснил, данная задача теперь в виде стека, а не списка.
Ymti вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО][Pascal ABC.NET] Cкопировать в новый список информацию о четырехкомнатных квартирах, общая площадь которых больше заданного значения. Ymti Помощь студентам 3 16.05.2018 09:38
Задача "Площадь комнаты" makskovalko Помощь студентам 9 26.01.2014 10:26
есть целевая функция (площадь поперечного сечения двутавра) подобрать параметры,чтобы площадь была минимальной (Паскаль) Osvetik Паскаль, Turbo Pascal, PascalABC.NET 8 19.02.2013 22:18
Paskal.Дана информация о пяти комнатах в общежитии. Запись имеет вид: фамилии, номер комнаты, факультет, площадь. Jhae Помощь студентам 0 22.12.2011 22:42
ООП (паскаль) - дан ромб. найти площадь. построить пирамиду, найти её площадь Rfn.if Помощь студентам 0 27.04.2011 16:10