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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 16:11   #1
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию Задача на строки.С++

Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация разделённая пробелами и знаками препинания, в конце которого ставится точка)
Найти самое короткое слово в сообщении.
Код:
#include"iostram"
#include"string"
#include<conio.h>
using namespace std;
int main()
{
	string str,slovo;
	int s=0;
	cout<<"Введите строку"<<endl;
	getline(cin,str);
	str=str+'';
	k=str.find("",pos);
	while(k!=string::npos)
	{
		slovo=str.substr(pos,k-pos);
		if(slovo[0]<slovo[slovo.length()-1])s++;
		pos=k+1;
		k=str.find("",pos);
	}
	cout<<"string="<<str<<endl;
	return 0;
}
Помогите решить правильно.
Many man вне форума Ответить с цитированием
Старый 19.05.2009, 16:27   #2
papercut
Пользователь
 
Регистрация: 19.05.2009
Сообщений: 16
По умолчанию

Из введенного текста распечатать все слова наименьшей длинны.

#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <string.h>

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{ int i=0, min=1000, pmin=0, l, pos;
char str[1000];
cout<<"Enter stroky: ";
cin.getline(str, 1000);
int k=strlen(str);
while (i<k)
{
while (str[i]==' ') i++;
pos=i;
l=0;
while((str[i]!=' ')&&(str[i]!='\0'))
{
i++;
l++;
}
if (l<min)
{
min=l;
pmin=pos;
}
}
for (i=pmin; i<pmin+min; i++)
cout<<str[i];
cout<<"\n";
getch();
return 0;
}


Может чем поможет, задача то похожая.
papercut вне форума Ответить с цитированием
Старый 19.05.2009, 18:11   #3
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

Всё равно неполучается
Many man вне форума Ответить с цитированием
Старый 19.05.2009, 18:15   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Many man, а вы не хотите воспользоваться сишной функцией strtok?
С ней все довольно просто пишется.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.05.2009, 18:47   #5
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

Я незнаком с этой функцией, можно поподробней
Many man вне форума Ответить с цитированием
Старый 19.05.2009, 19:04   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Функция разбивает строку на лексемы:
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;

int main()
{
char *p,*min,str[1000];
int minlen;
cin.getline(str,1000,'.');

p = strtok(str," ,!.");
min = p;
minlen = strlen(min);
while(p = strtok(NULL," ,!."))
 {
  if(strlen(p)<minlen)
   {
    min = p;
    minlen = strlen(p);
   }
 }
cout<<"String = "<<min<<endl;

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на строки С++ Many man Помощь студентам 10 06.05.2009 21:17
[C++] Задача на строки Roomper Помощь студентам 4 07.04.2009 18:25
задача на строки BERT Помощь студентам 1 06.04.2009 20:53
задача на строки Ananim-Pbl6ak Помощь студентам 11 26.12.2008 21:28