Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
ЛЁЛЯ
1

Программа для ввода строки от блондинки

02.06.2012, 21:24. Показов 5506. Ответов 32
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!
Вот решила начать изучать язык программирования С++, но не все пока получается...
Вот дали задание...написать программу, чтобы можно было вводить строку...
Если строка начинается с пробелов, то программа убирает эти пробелы...
Так чтобы строка начиналась с символов...

Ввод:
_ _ _hello_hello
Вывод:
hello_hello

_________

"_"=пробел
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2012, 21:24
Ответы с готовыми решениями:

блок схемы для блондинки
блин помогите исправьте вот там блок схемы там что то добавить надо ссылка

Арифметика в одно действие для блондинки;)
Очень нужна помощь.. код на ассемблере. Например, при вводе -51*10 вывести ответ

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит...

Ввести с клавиатуры строку символов.Признак окончания ввода строки - нажатие клавиши 'ввод'.Программа должна определить длину введенной строки L
Помогите пожалуйста:gbye: Ввести с клавиатуры строку символов.Признак окончания ввода строки -...

32
0 / 2 / 3
Регистрация: 27.03.2012
02.06.2012, 22:26 2
действительно блондинка
0
ЛЁЛЯ
02.06.2012, 23:32 3
Если ты такой умный, что мешает тебе написать такую плёвую программу???
0 / 2 / 3
Регистрация: 27.03.2012
02.06.2012, 23:34 4
не хочу чтобы блондинки размножались
0
ЛЁЛЯ
02.06.2012, 23:42 5
Никто тебе не давал права мне хамить!!!
Special for you!
Блондинка участвует в конкурсе с призом в 1 млн. евро.
Ей задают такие вопросы:
1) Сколько длилась столетняя война?
а) 116 б) 99 в) 100 г) 150
Блондинка пропускает вопрос
2) В какой стране изобрели панамы?
а) Бразилия б) Чили в) Панама г) Эквадор
Блондинка просит помощи у студентов Университета
3) В каком месяце отмечается Октябрьская революция?
а) Январь б) Сентябрь с) Октябрь д) Hоябрь
Блондинка просит помощь у зала.
4) Как зовут короля Георга 6-го?
а) Альберт б) Георг с) Мануэль
Блондинка достает гадальные карты.
5) От какого животного происходит название Канарских островов?
а) Канарейка б) Кенгуру с) Тюлень г) Крыса
Блондинка выходит из игры.
Если ты считаешь себя умным (-ой) и посмеялся (-ась) над блондинкой, то почитай правильные ответы:
1) Столетняя война длилась 116 лет с 1337 по 1453 год.
2) Панамы изобрели в Эквадоре.
3) Октябрьская революция отмечается в ноябре.
4) Имя короля Георга - Альберт. Он поменял его в 1936 году.
5) Hазвание Канарских островов происходит от тюленя. Латинское название островов Insukaria Canaria означает остров тюленей.
0 / 2 / 3
Регистрация: 27.03.2012
02.06.2012, 23:44 6
милая, при чем тут цвет волос и c++?
0
ЛЁЛЯ
02.06.2012, 23:50 7
При том, что ты решил меня оскорбить...
Я только начинаю изучать этот язык программирования и мне не все понятно... и это не повод, чтобы ты тут отпускал подобные комментарии!
1 / 1 / 0
Регистрация: 07.03.2010
Сообщений: 111
03.06.2012, 00:16 8
Строку грузишь в массив char'ов.

char str[128];

gets(str); я не помню есть ли там еще параметры (ищи в справочнике).

дальше в цикле

int i = 0;

while(str[i]='
')
{
if(str[i]!=' ')
putc(str[i]);
i++;
}

Все, но за "орфографию" не отвечаю )
Думаю принцып понятен.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
03.06.2012, 00:27 9
Альтернативное решение, но в данном случае пробелы будут обрезаны не только при выводе на экран, но и в памяти. За синтаксис ручаюсь, было проверено и работает.

"Вот решила начать изучать язык программирования С++..." Хе-хе, ну-ну )))

Код
#include <IOSTREAM>

using namespace std;

int main()
{
// read string from user input
char input[50];

cout << "Input:" << endl;
cin.getline(input, 50);

// find first non-space character
int size = strlen(input);
int pos = 0;
while ((input[pos] == ' ') && (pos < size))
{
pos++;
}

// cut off spaces
//strcpy(input, &input[pos]);
for (int i = 0; i < size; i++)
{
input[i] = input[i + pos];
}

// write to output
cout << "Output:" << endl;
cout << input << endl;

// pause
char ch;
cin >> ch;

return 0;
}
Успехов,
Владимир
0
0 / 2 / 3
Регистрация: 27.03.2012
03.06.2012, 00:31 10
господа, я поражен что вы потакаете нахалам
если человек спрашивает написать за него задачу ввода-вывода, при этом говоря что он начинает изучать этот язык, то кроме как нахальством это не назовешь
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
03.06.2012, 00:36 11
человеку, наверное, завтра нести работу на проверку преподавателю..
0
0 / 2 / 3
Регистрация: 27.03.2012
03.06.2012, 00:38 12
ну она ему также заявит, помогите Блондинке с оценкой
0
John Paramol
03.06.2012, 11:08 13
проще так:
Код
#include <stdio.h>
int main(void)
{
  char B[1024], *pB = B;
  puts("IN: ");
  gets(B);
  puts("OUT: ");
  for(; *pB==' ' ++pB);
  puts(pB);
  getchar();
  return 0;
}
smalig, зачем так наезжать на новичка, лучше бы совет дал.
Может она крашеная...
0 / 2 / 3
Регистрация: 27.03.2012
03.06.2012, 11:38 14
судя по всему, нет
0
preved
04.06.2012, 19:26 15
Код
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

basic_ostream<char, char_traits<char> >& operator << (basic_ostream<char, char_traits<char> >& os,
	const string& si)
{
	//return i;
	string::const_iterator ssci = si.begin();

	if(ssci == si.end())
		return os;
	else
        while((*ssci) == ' ') ssci++;
	while(ssci != si.end())
		os << *(ssci++);
	return os;
}


int main( )
{
	string ss(fgets((char*)calloc(0, 100), 99, stdin));
	cout << ss;
	return 0;
}
preved
04.06.2012, 19:27 16
Найди ашибку в праграмме!
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
04.06.2012, 19:49 17
http://www.gammon.com.au/forum... ct_id=2896
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
04.06.2012, 19:58 18
Код
string input;
getline(cin, input, '
');
для чтения строки из потока std::cin в STL string

... нет предела совершенству
... но, видимо, задание было успешно сдано/провалено, или Лёля обиделась на smalig'а
0
ЛЁЛЯ
04.06.2012, 20:25 19
СПАСИБО ВСЕМ, КТО ОТКЛИКНУЛСЯ!)))

А вот какую программу написала я.
Не знаю, насколько она рациональна, но работает правильно)))
#include <iostream.h>
#include <cstring>
void main()
{int len;
char str[100];
cout<<"Enter the string"<<endl;
cin.getline(str, 100);
len = strlen(str);
for (int n=0;n<strlen(str);n++)
{
for(int k=0;k<strlen(str);k++)
{ if (str[k]==' '&&str[k+1]==' ')
{
for(int q=k;q<strlen(str);q++)
str[q]=str[q+1];
}
}
}
if(str[0]=' ')
{
for (int y=0;y<strlen(str);y++)
{str[y]=str[y+1];
}

}
cout<<str<<endl;
}
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 53
05.06.2012, 12:30 20
Блондинки идут в програмисты!Весело.Надо анектод про это придумать.Поткидывайте идейки!smaliq молодец!
0
05.06.2012, 12:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2012, 12:30
Помогаю со студенческими работами здесь

Программа, реагирующая на строки прямо в процессе ввода
Вобщем, если вкратце - программа не должна позволять вводить более X слов по Y букв в каждом (при...

После ввода строки ничего не происходит, а программа закрывается
uses crt; Var i,p:integer; s:string; Begin write('Vvedite stroky: '); readln(s); ...

После ввода первой строки программа дает ошибку
#include&lt;iostream&gt; #include&lt;cstring&gt; #include&quot;stdio.h&quot; using namespace std; struct strk{ char...

После ввода первой строки программа дает ошибку и закрывается
#include&lt;iostream&gt; #include&lt;cstring&gt; #include&quot;stdio.h&quot; using namespace std; struct strk{ char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru