Строки.

Juiset

New member
03.04.2014
1
0
#1
Написать программу, которая:
• Выводит текст на экран дисплея;
• Определяет количество символов в кратчайшем слове;
• По нажатию произвольной клавиши поочередно выделяет каждое слово текста, содержащий минимальное количество символов.
Вод код, но 3 условия тут не выполняется, как его сделать ?
Помогите пожалуйста.

Program.cpp
C++:
#include "IVN_LB8_heder.h"
#include "IVN_LB8_save.h"

void dlina(string str);

int main()
{
setlocale (0,"RUS");
string str;



ifstream MyFile("C:\\Users\\Ramzes30021\\Desktop\\Lr21\\Lr2\\input.txt");
if(!MyFile){cout<<"oops, file not found";return 0;}
while (!MyFile.eof())
{getline (MyFile,str);
MyFile.get();
cout<<str;
dlina(str);}
return 0;
}
Includ.h

C++:
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std
Stroka.h

C++:
void dlina(string str)
{
int min=100; int l=0; int nn=0;
for(int i=0; i<str.size();i++)
{
if(str[i]!=' ' && str[i]!='.' && str[i]!=',')
nn++;
else
{
if(nn<min && nn!=0 )
{
min=nn;
}
nn=0;
}
}
string str1="(=)";
getch();
system("cls");
for(int i=1; i<str.size();i++)

{

if(str[i]!=' ' && str[i]!='.' && str[i]!=',')
{
nn++;
}
else
{
if(nn==min)
{	  
str.insert (i-min, str1);
str.insert(i+3, str1);

}

nn=0;
}
}

cout<<str<<endl;
cout<<"Количество символов в самом меньшем слове "<<min<<endl;
}