Пример:
2345678
435678
43567
Сначала я считываю первую строку с помощью getline, как мне потом перенести чтение на следующую строку?
Примечание:
Надеюсь с кодом получше будет: в основной программе:
cout<<"\n";ofstream out( "out.txt");
for (int k=0;k<count; k++){
type a, b, c, d, rez, rez1; //разные rez нужны для не засорения
readlong (a);
readlong1 (b);
readlong2 (c);
readlong3 (d);
ofstream out( "out.txt", ios::app );
mult (a, b, rez); //использование умножения
cout << rez.back (); out<<rez.back();
for (int i = rez.size () - 2; i >= 0; i--)
{ cout << rez[i]; out<<rez[i];}
printf(","); out<<",";
/*==================================================*/
mult (c, d, rez1); //использование умножения
cout << rez1.back (); out<<rez1.back();
for (int i = rez1.size () - 2; i >= 0; i--)
{cout << rez1[i]; out<<rez1[i];}
cout<<"\n";
out<<"\r\n";
out.close(); }
getch();
return 0;
}
Вот функция которая считывает строку (для каждой строки 4 разных функции:
void readlong (type &vec)
{
string str, str1, str2, str4;
char str3[N];
ifstream fin("in.txt");
fin.getline(str3, 2*N+2);
str2=str3;
int v;
int len1=str2.length();
for(int i=0;i<len1;i++)
if(str2[i]==' ') v=i;
char buf2[2*N+2];
memset( buf2, '\0', 2*N+2 );
str2.copy( buf2, v );
str4 = (const char*) buf2; // конвертация буфера в строку
str=str4;
//==================================================
fin.close();
int d;
int len=str.length(); // длина основной строки
for(int i=0;i<len;i++)
if(str[i]=='.') d=i;
char buf[N];
memset( buf, '\0', N );
str.copy( buf, d );
str1 = (const char*) buf; // конвертация буфера в строку
str=str1;
for (int i = str.size (); i > 0; i--)
vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Всегда выдает одинаковый результат используется только первая строка
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.