Ultrasonic-Invalid measurements!!!

I used an ultrasonic sensor, an lcd display and a potentiometer to calibrate the display.
On the lcd the minimum and maximum distance measured are displayed. However, for the maximum distance the measurements are constantly wrong.
Here is my code:
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int trigPin = 7;
const int echoPin = 8;
const int sound = 340;
float distance;
float duration;
float maxdistance = 0;
float mindistance = 100;
float timeA;

void setup(){
lcd.begin(16,2);
lcd.print("Measure Dis");
delay(5);
lcd.clear();
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
lcd.setCursor(0,0);
lcd.print("Distance");
Serial.begin(9600);
}

void loop(){
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration = pulseIn(echoPin,HIGH);
duration = duration/2;
distance = duration * sound/1000000;//distance measured in meters
Serial.println(mindistance);
if(distance > maxdistance){
lcd.setCursor(9,0);
maxdistance = distance;
}
if(distance < mindistance){
lcd.setCursor(9,1);
mindistance = distance;
}

lcd.setCursor(0,0);
lcd.print("MnDistance:");
lcd.print(mindistance);
lcd.setCursor(0,1);
lcd.print("MxDistance:");
lcd.print(maxdistance);
delayMicroseconds(10);

}

Please read the guidelines how to post code. These are on top of every section.

Thanks.

However, for the maximum distance the measurements are constantly wrong.

What does "wrong" mean?

W.R.O.N.G = Wide Range Offset (is) No Good ?

Here is the code

 #include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int trigPin = 7;
const int echoPin = 8;
const int sound = 340;
float distance;
float duration;
float maxdistance = 0;
float mindistance = 100;
float timeA;

void setup(){
  lcd.begin(16,2);
  lcd.print("Measure Dis");
  delay(5);
  lcd.clear();
  pinMode(trigPin,OUTPUT);
  pinMode(echoPin,INPUT);
  lcd.setCursor(0,0);
  lcd.print("Distance");
  Serial.begin(9600);
}

void loop(){
  digitalWrite(trigPin,LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10); 
  digitalWrite(trigPin,LOW);
  duration = pulseIn(echoPin,HIGH);
  duration = duration/2;
  distance = duration * sound/1000000;//distance measured in meters
  Serial.println(mindistance);  
  if(distance > maxdistance){
    lcd.setCursor(9,0);
    maxdistance = distance;
  }
  if(distance < mindistance){
    lcd.setCursor(9,1);
    mindistance = distance;
  }

  lcd.setCursor(0,0);
  lcd.print("MnDistance:");
  lcd.print(mindistance);
  lcd.setCursor(0,1);
  lcd.print("MxDistance:");
  lcd.print(maxdistance);
  delayMicroseconds(10);
    
  }

By saying wrong I mean that the values of maximum distance is not right, it is much bigger , on average it shows values between 31-32 meters when a quick change of the distance measures occurs.

Try reducing the reading rate to no more than about 20 Hz.

Thank you,now it's much better