Есть матрица, записанная в cvs файл. В качестве разделителя используется символ ';'. 
29;89;77;56;7;40;100;29;57;60;
49;4;44;51;86;37;25;54;51;61;
5;93;55;15;37;92;68;54;28;48;
83;48;16;50;93;20;64;76;78;42;
96;1;100;57;45;53;63;97;22;47;
84;25;76;61;31;52;53;90;46;5;
17;43;23;49;84;34;26;1;63;52;
68;54;48;96;83;37;34;37;96;92;
27;70;58;41;94;48;14;89;99;86;
40;21;66;98;40;78;72;27;72;76;
Необходимо перейти к определенному элементу в матрице (в последующем этот элемент нужно будет заменить) и вывести его. Числа случайные и необязательно двухзначные.
Залип на этот моменте
cpp_int getElementInFile(fstream &file, unsigned int size, size_t i, size_t j)
{
	cpp_int toReturn;
	cpp_int temp;
	string test;
	int sizeOfElement = (sizeof(cpp_int) + sizeof(';'));
	streampos saveCurrentCursor = file.tellg();//сохраняем позицию курсора
	file.seekg(0, ios::beg);//переходим на начало файла
	file.seekg(((i-1)*size+(j-1))*sizeOfElement, ios::cur);
	file >> test;
	cout << test;
	return toReturn;
}