Помогите найти ошибку в коде c# с массивом
using System;
using ReadData;
using ArrayLib;
namespace Valimised
{
class Program
{
static void Main(string[] args)
{
double allgol = 54356;
int x,y;//vqbiraen za kogo golosovat
int[] p = new int[6];
do{
Console.WriteLine("Нажмите цифру от 1 до 6");
x = ConsoleInput.ReadInt();
switch (x)
{
case 1:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Iseseisvuspartei'"); break;
case 2:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Keskerakond '"); break;
case 3:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Reformierakond '"); break;
case 4:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Eestimaa Rahvaliit '"); break;
case 5:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Isamaaliit'"); break;
case 6:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Res Publica'"); break;
//case 0:
// Console.WriteLine("Вы отказались от голосования'"); break;
default: Console.WriteLine("Default"); break;
}
int a=0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
if (x == 1) a++; p[0]+=a;
if (x == 2) b++; p[1] += b;
if (x == 3) c++; p[2] += c;
if (x == 4) d++; p[3] += d;
if (x == 5) e++; p[4] += e;
if (x == 6) f++; p[5] += f;
Console.WriteLine("Желаете просмотреть результаты нажмите 0");
y = ConsoleInput.ReadInt();
} while (y != 0);
for (int i = 0; i <= p.Length; i++)
{
double p1 = (p / allgol) * 100;// ВОТ ЗДЕСЬ ПИШЕТ ЧТО Индекс находился вне границ массива.
double rp1 = Math.Round(p1, 3);
Console.WriteLine("Партия набрала ={0} %",rp1);
}
MyArray.PrintArray(p);
//Console.WriteLine(p1);
Console.ReadKey();
}
}
}
Исправить ошибку