How to combine these two codes?

How to combine these two codes?
i have a project entitled, Gsm-based E-notice board. the LedMatrix(output) displays anything that was sent to gsm module.

this is for the send and recieve and the other one on the next part is for the display.

// GSM pinouts (GSM 900A)
// ----------------------------------------------------------
// connect to 5V 2A power supply (white jack near antenna)
// do not use yellow header with 3 pins (RS232)
// use the yellow pins near the antenna
// pinout:
// GND = GND (left bottom)
// VCC MCU = 5V Arduino (right bottom)

// this is the connection:
// GSM Arduino
// vcc ------------------------5v
// gnd ------------------------gnd
// tx ------------------------- pin2
// rx ------------------------- pin3

#include <SoftwareSerial.h> // for GPS and GSM serial communication

#include "SIM900.h" // GSM 900 library from http://www.gsmlib.org/

#include "sms.h" // SMS library
SMSGSM sms;

boolean started=false; // set to true if GSM communication is okay
char smsbuffer[160]; // storage for SMS message

byte Position; //address for sim card messages
char number[20]; //who texted
char authNumber[20] = "09213505004"; // mobile number to send SMS to
byte led=13; // LED is on if busy initializing and processing SMS
void setup()
{
Serial.begin(9600); // GPS module is at 9600 baud
pinMode(led, OUTPUT); // set status LED pin

digitalWrite(led, HIGH); // turn on LED before GPS and GSM initialization
GSMsetup(); // initialize GSM and connect to network
digitalWrite(led, LOW); // turn off LED after initialization

sendMessage(authNumber,"System is ready"); // send SMS that system is ready to accept commands
}

void loop()
{
receiveMessage(); // check for incoming SMS commands
sendMessage(authNumber,"This is the Looped Message"); // send SMS that system is ready to accept commands
delay(20000);
//you can write additional codes here
}

void GSMsetup()
{
Serial.println(F("Initilizing GSM"));
if (gsm.begin(2400)) // communicate with GSM module at 2400
{
Serial.println(F("GSM is ready"));
started=true; // established communication with GSM module
}
else Serial.println(F("GSM is not ready"));
}

void sendMessage (char phone[20], char message[160])
{
if(started) // check if we can communicate with the GSM module
{
digitalWrite(led, HIGH); // turn on status LED before sending SMS
if (sms.SendSMS(phone, message))
{
Serial.print(F("\nSMS sent to "));
Serial.println(phone);
}
digitalWrite(led, LOW); // turn off LED after sending SMS
}
}

void receiveMessage()
{
if(started) // check if we can communicate with the GSM module
{
Position = sms.IsSMSPresent(SMS_UNREAD); //check location of unread sms

if (Position !=0) // check if there is an unread SMS message
{
sms.GetSMS(Position, number, smsbuffer,160); // get number and SMS message
Serial.print(F("Received SMS from "));
Serial.println(number); // send number
Serial.println(smsbuffer); // sender message
sms.DeleteSMS(Position); // delete read SMS message

}
}
}

and the other one is

int x;
int y;
int latchPin1 = 5; //Arduino pin connected to blue 12 RCLK of 74HC595
int clockPin1 = 6; //Arduino pin connected to green 11 SRCLK of 74HC595
int dataPin1 = 7; //Arduino pin connected to violet 14 SER of 74HC595

//-- Rows (Positive Anodes) --
int latchPin2 =2; //Arduino pin connected to yellow Latch 12 RCLK of 74HC595
int clockPin2 = 4; //Arduino pin connected to white Clock 11 SRCLK of 74HC595
int dataPin2 = 3; //Arduino pin connected to grey Data 14 SER of 74HC595

//=== B I T M A P ===
//Bits in this array represents one LED of the matrix
// 8 is # of rows, 7 is # of LED matrix we have
byte bitmap[8][7]; // Change the 7 to however many matrices you want to use.
int numZones = sizeof(bitmap) / 8;
int maxZoneIndex = numZones-1;
int numCols = numZones * 8;

byte alphabets[][5] = {
{0,0,0,0,0},
{31, 36, 68, 36, 31},
{127, 73, 73, 73, 54},
{62, 65, 65, 65, 34},
{127, 65, 65, 34, 28},
{127, 73, 73, 65, 65},
{127, 72, 72, 72, 64},
{62, 65, 65, 69, 38},
{127, 8, 8, 8, 127},
{0, 65, 127, 65, 0},
{2, 1, 1, 1, 126},
{127, 8, 20, 34, 65},
{127, 1, 1, 1, 1},
{127, 32, 16, 32, 127},
{127, 32, 16, 8, 127},
{62, 65, 65, 65, 62},
{127, 72, 72, 72, 48},
{62, 65, 69, 66, 61},
{127, 72, 76, 74, 49},
{50, 73, 73, 73, 38},
{64, 64, 127, 64, 64},
{126, 1, 1, 1, 126},
{124, 2, 1, 2, 124},
{126, 1, 6, 1, 126},
{99, 20, 8, 20, 99},
{96, 16, 15, 16, 96},
{67, 69, 73, 81, 97},
};

//=== S E T U P ===

void setup() {
pinMode(latchPin1, OUTPUT);
pinMode(clockPin1, OUTPUT);
pinMode(dataPin1, OUTPUT);

pinMode(latchPin2, OUTPUT);
pinMode(clockPin2, OUTPUT);
pinMode(dataPin2, OUTPUT);

//-- Clear bitmap --
for (int row = 0; row > 6; row++) {
for (int zone = 0; zone <= maxZoneIndex; zone++) {
bitmap[row][zone] = 0;
}
}
}

//=== F U N C T I O N S ===
// This routine takes whatever we've setup in the bitmap array and display it on the matrix
void RefreshDisplay()
{
for (int row = 0; row < 8; row++) {
int rowbit = 1 << row;
digitalWrite(latchPin2, LOW); //Hold latchPin LOW for as long as we're transmitting data
shiftOut(dataPin2, clockPin2, MSBFIRST, rowbit); //Transmit data

//-- Start sending column bytes --
digitalWrite(latchPin1, LOW); //Hold latchPin LOW for as long as we're transmitting data

//-- Shift out to each matrix (zone is 8 columns represented by one matrix)
for (int zone = maxZoneIndex; zone >= 0; zone--) {
shiftOut(dataPin1, clockPin1, MSBFIRST, bitmap[row][zone]);
}

//-- Done sending Column bytes, flip both latches at once to eliminate flicker
digitalWrite(latchPin1, HIGH);
digitalWrite(latchPin2, HIGH);

//-- Wait a little bit to let humans see what we've pushed out onto the matrix --
delayMicroseconds(500);
}
}

// Converts row and colum to actual bitmap bit and turn it off/on
void Plot(int col, int row, bool isOn)
{
int zone = col / 8;
int colBitIndex = x % 8;
byte colBit = 1 << colBitIndex;
if (isOn)
bitmap[row][zone] = bitmap[y][zone] | colBit;
else
bitmap[row][zone] = bitmap[y][zone] & (~colBit);
}
// Plot each character of the message one column at a time, updated the display, shift bitmap left.
void AlphabetSoup()
{
char msg[] = "MICROPROCESSOR ";

for (int charIndex=0; charIndex < (sizeof(msg)-1); charIndex++)
{
int alphabetIndex = msg[charIndex] - '@';
if (alphabetIndex < 0) alphabetIndex=0;

//-- Draw one character of the message --
for (int col = 0; col < 6; col++)
{
for (int row = 0; row < 10; row++)
{
bool isOn = 0;
if (col<5) isOn = bitRead( alphabets[alphabetIndex][col], 7-row ) == 1;
Plot( numCols-1, row, isOn);
}

//-- The more times you repeat this loop, the slower we would scroll --
for (int refreshCount=0; refreshCount < 7; refreshCount++) //change this value to vary speed
RefreshDisplay();
//-- Shift the bitmap one column to left --
for (int row=0; row<10; row++)
{
for (int zone=0; zone < numZones; zone++)
{
bitmap[row][zone] = bitmap[row][zone] >> 1;
// Roll over lowest bit from the next zone as highest bit of this zone.
if (zone < maxZoneIndex) bitWrite(bitmap[row][zone], 7,
bitRead(bitmap[row][zone+1],0));
}
}
}
}
}

//=== L O O P ===
void loop() {
AlphabetSoup();
}

http://www.thebox.myzen.co.uk/Tutorial/Merging_Code.html

https://arduino-info.wikispaces.com/CombiningArduinoSketches