storing data from sensors

You get some data. You store the data in an array as you get it. When you have all of it, you start over getting more.

Once you have an array full of data, send that array, and then start over.

I don't know if this would work in my case because I want the car to go all the way in the path and then send the data. And then I want another car to read this data and go through the same path, and I don't think the arduino would have memory enough to store all this data.
I bought a sd shield to store all these arrays in a sd card, but I am having difficulties in doing so. This is the code that the arduino IDE has as example to read and write something in a card

/*
  SD card read/write
 
 This example shows how to read and write data to and from an SD card file 	
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 This example code is in the public domain.
 	 
 */
 
#include <SD.h>

File myFile;

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
   pinMode(10, OUTPUT);
   
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
  
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);
  
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
	// close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
  
  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");
    
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
    	Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
  	// if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
	// nothing happens after setup
}

I ran it and works fine. but how where do I put my code so it stores the array that I am generating?
Again this is how I am getting the values from the sensors

int ping(int j) {
  int duration, distance;
  pinMode (trigPin[j], OUTPUT);
  pinMode (echoPin[j], INPUT);
  digitalWrite(trigPin[j], LOW);
  digitalWrite(trigPin[j], HIGH);
  duration = pulseIn(echoPin[j], HIGH);
  distance = (duration/2) / 29.1;
  return distance;
}
void loop(){
  int minimum, Position, distance[3], j;
  for (i=0; i<3; i++){
  distance[i]=ping(i);
  delay (35);
  
  }