Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 19:00   #11
Goblin
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 196
По умолчанию

Если я правильно понял о чем речь, то так:
Когда вы набираете "строка" и нажимете enter. В буфере храниться следущие
"строка\0\n" Фнкции чтения строки берут только до ноль(вкл. его самого) сивола. А остальное('\n') остаеться в буфере до следующего чтения.
Goblin вне форума Ответить с цитированием
Старый 25.04.2009, 19:02   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Goblin
Так ведь в том и дело, что проблема возникает только один раз - перед вводом первой (0-й) строки..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 19:32   #13
Goblin
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 196
По умолчанию

А разве так не пойдет? или я опять что то не понял?(
Код:
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <conio.h>
using namespace std;

string* matr_create(int m)
{
 string *M = new string[m];
 int i,j;
 for(i=0;i<m;i++)
  {
   cout<<"Enter string "<<i<<": ";
   cin >> M[i];
  }
 return M;
}
//------------
void matr_print(int m, string *M)
{
 int i;
 for(i=0;i<m;i++)
  cout<<M[i]<<endl;
}
//---------------
string *matr_new(int &m, string *M)
{
 int i,j,k,l,nr;
 string *tmp;
 nr = m + (int)(m/2);
 tmp = new string[nr];

 for(k=0,i=0,l=0;i<nr;i++)
  {
   if(k==2)
    {
     k=-1;
     cout<<"Enter string: \n";
     cin >> tmp[i];
    }
   else
    {
     tmp[i] = M[l];
     l++;
    }
    k++;
  }
delete[] M;
m = nr;
return tmp;
}
//================
int main()
{
 int M,newr;
 string *matr;
 cout<<"Enter M: ";
 cin>>M;

int k;
	do
{
cout<<"1. Form Mas\n";
cout<<"2. Print Mas\n";
cout<<"3. Add to Mas\n";
cout<<"4. Print new Mas\n";
cout<<"0. Exit\n";
cin>>k;
switch (k)
  {
   case 1: matr = matr_create(M); break;
   case 2: matr_print(M,matr); break;
   case 3: matr = matr_new(M,matr);break;
   case 4: matr_print(M,matr);break;
  }
}
while (k!=0);


 delete[] matr;
 system("Pause");
	return 0;
}
Goblin вне форума Ответить с цитированием
Старый 25.04.2009, 19:35   #14
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Goblin
А разве так не пойдет? или я опять что то не понял?(
Так ведь "cin>>" не даст ввести строку с пробелами )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите переделать прогу из Паскаля в Делфи! Toxass Общие вопросы Delphi 28 27.09.2009 15:36
переделать прогу daur3n Помощь студентам 2 10.03.2009 13:34
помогите переделать прогу +Hitman+ Паскаль, Turbo Pascal, PascalABC.NET 4 17.11.2008 23:26
Немогу переделать(переписать) прогу!!!! metamfetamin Помощь студентам 0 25.11.2007 14:27