I Need Help With My Code

This Is A Code I Grabbed From A Tutorial Online And I Have Trouble With It.
when i want to upload the code to my arduino uno it says

expected primary-expression before ‘int’

i included a comment where i have that problem, can someone fix it for me?
i am not that good of a programmer and i am new to arduino

/* 
Using an Arduino with a 120v Relay

Parts used:
--ultrasonic sensor
--desk lamp
--120v relay
--desk lighting

This sketch uses an ultrasonic sensor to detect whether
a person in near or sitting near a desk, and sends a 
signal to a 120V relay to turn desk lighting on or off.

*/

#include <NewPing.h>

const int LIGHT = 10;
const int TRIGGER = 12;
const int ECHO = 11;

NewPing sonar(TRIGGER, ECHO);

void setup(){
  pinMode(LIGHT, OUTPUT); 
}

/* The main loop iterates every 2.5 seconds. */

void loop(){
    
  /*In order to get a accurate measure of wether
  someone is near, we read the ultrasonic sensor
  30 times and take the average. That way, if the
  ultrasonic sensor reads sporadically as it 
  occasionaly does, those values will be averaged out.  
  This takes 0.05 * 30 = 1.5 seconds to get a value
  from the sensor. */
  
  while (int i, i < 30, i++){                                     //!!!!!!!!!!THIS LINE IS MY PROBLEM!!!!!!!!!!
    sum = sum + sonar.ping_cm();
    delay(50);
  }
  int average_distance = sum/30; 
  
  
  /* Using the value, we send a signal to the relay
  depending on whether someone is detected less than 
  130 cm away. We also pause for a second for good 
  measure. */
  
  if (average_distance < 130){
    digitalWrite(LIGHT, HIGH);
    delay(1000);
  }
  
  else{   
    digitalWrite(LIGHT, LOW);
    delay(1000);
  }
}
  while (int i, i < 30, i++){

This is nowhere near the correct format for a while statement.

It looks like you tried to use the syntax for a for loop, but changed the semicolons to commas. Look up what a while statement is supposed to look like.

Hi, Something missing here:

while (int i, i < 30, i++){

think you need:

while (int i=0; i < 30; i++){

This Is A Code I Grabbed From A Tutorial Online

In view of the problems with it I would be interested in a link to where you got it from.

think you need

And I think YOU need to RTFM, too.

terryking228:
Hi, Something missing here:

while (int i, i < 30, i++){

think you need:

while (int i=0; i < 30; i++){

now it says “expected ‘)’ before ‘;’ token” at that same line in my code

terryking228:
Hi, Something missing here:

while (int i, i < 30, i++){

think you need:

while (int i=0; i < 30; i++){

That’s syntax for a for loop, not a while.

int i = 0;
do {
    sum = sum + sonar.ping_cm();
    delay(50);
   } while (++i < 30);