Более подробно: 20:02 - если не учитывать, что в часе 60 минут, то предыдущее "счастливое" время - 19:91, но это не подходит, т.к. часы не могут показывать столько, дальше аналогично: 18:81 - не подходит; 17:71 - не подходит; 16:61 - не подходит; 15:51 - подходит, значит, это - предыдущее "счастливое" время. Чтобы найти, сколько времени с 15:51 до 20:02, то есть найти, насколько 20:02 больше, чем 15:51, нужно из большего отнять меньшее: 20:02-15:51=4:11, то есть 4 часа 11 минут. ответ: 4 ч 11 мин.
Procedure TForm1.Button4Click(Sender: TObject); var Buff: TNodePointer; x: TItem; i,j: Cardinal; begin i:=0; Buff:=Head; if(Buff^.Next=nil) then begin ShowMessage('В стеке один элемент!'); exit; end; while Buff <> nil do begin while (Buff^.Next<>nil) and (Buff^.Data=Buff^.Next^.Data) and not(isEmpty(Buff)) do begin pop(Buff^.Next,x); for j:=i to StringGrid1.RowCount-2 do StringGrid1.Cells[0,j]:=StringGrid1.Cells[0,j+1]; StringGrid1.RowCount:=StringGrid1.RowCount-1; end; Buff:=Buff^.Next; i:=i+1; end; end;
PS. Delphi у меня сейчас нет, так что проверяйте сами. Если что не так - сообщайте.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку