Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
1

Определить самую длинную строку в тексте

18.12.2010, 20:01. Просмотров 625. Ответов 1
Метки нет (Все метки)

Определить самую длинную строку в тексте. Найденную строку передавать в главную функцию.
И ещё, не могу понять почему если задать размер "3", то вводится только 2 строки и выводится соответственно тоже.....
Вот наработки:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
//----------------------------------------------------------------------------------
char **zap_mas(int n)
{char **hstr;
int i;
hstr = new char*[n];
for (i = 0; i < n; i++) hstr[i] = new char[20];
clrscr();
cout<<"Vvedite text \n";
for (i = 0; i < n; i++) gets(hstr[i]);
return(hstr);
}
//----------------------------------------------------------------------------------
void prosm(char** mas, int n)
 
{for (int i = 0; i < n; i++) puts(mas[i]);}
//----------------------------------------------------------------------------------------
main()
{
char **str;
 
 
 
int n,i,j,p;
 
while (1)
    {cout<<"\n 1 - Zapolnenie strok";
    cout<<"\n 2 - Prozmotr strok";
    cout<<"\n 3 - Poisk";
    cout<<"\n 4 - Exit";
    cout<<"\n Your choose:";
    cin>>p;
 
    switch(p){
 //-----------------------------------------------------------------
     case 1:
{clrscr();
cout<<"Vvedite razmer strokovogo massiva \n";
cin>>n;
str = zap_mas(n);
getch();
 clrscr();
 break;
}
//----------------------------------------------------------------
        case 2:
                {clrscr();
        prosm(str,n);
                getch();
        clrscr();
                break;}
//----------------------------------------------------------------
case 3: {
 
}
//----------------------------------------------------------------
case 4: {  clrscr();
            return 0;
}
//-----------------------------------------------------------------
 
} //case
 
 }         //цикл while
 
//getch();
  //    return 0;
 
    }
//---------------------------------------------------------------------------

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 20:01
Ответы с готовыми решениями:

Определить самую длинную последовательность цифр в тексте
С помощью текстового редактора создать файл, содержащий текст, длина которого...

Определить самую длинную и самую короткую из введенных строк
Необходимо организовать ввод 3 названия городов. А потом вывести на экран...

Выделить самую длинную последовательность в тексте
В данном тексте,выделить самую длинную последовательность,которая составлена из...

Найти в тексте самую длинную последовательность из одинаковых букв
Здравствуйте! Нужно написать программу, которая выполняет следующие функции:...

Найти в тексте самую длинную последовательность символов, не содержащую пробелов
Нужно в тексте найти самую длинную последовательность символов, не содержащую...

1
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
20.12.2010, 16:44  [ТС] 2
Практически всё сделал, за исключением правильного определения самой длинной строки, подправьте меня пожалуйста ув. программисты.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <iostream>
#include <string.h>
//----------------------------------------------------------------------------------
//int len (char*);
 
 
/* find ()
{
 int i;
char s[5][50];
cout<<"Vvedite stroku \n";
for (i=0; i < 5; i++)  cin>>s[i];
for (i = 0; i < 5; i++) cout<<"\n"<<i+1<<". "<<len(s[i]);
getch();
    return 0;
}    */
 
 
int len (char* ch)
{
int k = 0; int i = 0;
while (ch[i++]) k++;
return k;
}
 
 
 
 
char **zap_mas(int n)
{char **hstr;
int i,k;
int m = 20;
hstr = new char*[n];
for (i = 0; i < n; i++) hstr[i] = new char[m];
clrscr();
cout<<"Vvedite text \n";
for (i = 0; i < n; i++) gets(hstr[i]);
 
return(hstr);
 
 
}
//----------------------------------------------------------------------------------
void prosm(char** mas, int n)
 
{int i;
for (i = 0; i < n; i++) puts(mas[i]);}
 
//----------------------------------------------------------------------------------------
using namespace std;
main()
{
char **str;
 
 
 
int n,i,j,p;
 
while (1)
    {cout<<"\n 1 - Zapolnenie strok";
    cout<<"\n 2 - Prozmotr strok";
    cout<<"\n 3 - Poisk";
    cout<<"\n 4 - Exit";
    cout<<"\n Your choose:";
    cin>>p;
 
    switch(p){
 //-----------------------------------------------------------------
     case 1:
{clrscr();
cout<<"Vvedite razmer strokovogo massiva \n";
cin>>n;
str = zap_mas(n+1);
//getch();
 clrscr();
 break;
}
//----------------------------------------------------------------
        case 2:
                {clrscr();
        prosm(str,n+1);
                getch();
        clrscr();
                break;}
//----------------------------------------------------------------
case 3: { clrscr();
 
/*char ch;
int count = 0;
cin>>ch;
while(ch != '.')
{
cout<<ch; count++;  cin>>ch;
}
cout<<" \n "<< count <<" characters read \n";
getch();
return 0;
*/
/*
char ch;
int count = 0;
cin.get(ch);
while(cin.fail()==false)
{
cout<<ch;
count++;
cin.get(ch);
}
cout<<" \n "<< count <<" characters read \n";
getch();
return 0;
*/
int i;
int x =  0; //len(str[0]);
for (i = 1; i < n+1; i++) cout<<"\n"<<i<<". "<<len(str[i]);
cout<<"\n";
for (i = 0; i < n+1; i++) if (len(str[i]) > x) x = i; cout<<x;
 
 
getch();
clrscr();
break;
}
 
 
//----------------------------------------------------------------
case 4: {  clrscr();
            return 0;
}
//-----------------------------------------------------------------
 
} //выборка
 
 }         //цикл while
 
//getch();
  //    return 0;
 
    }
//---------------------------------------------------------------------------
Добавлено через 20 часов 40 минут
Решил вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <iostream>
#include <string.h>
//----------------------------------------------------------------------------------
//int len (char*);
int len (char* ch)
{
int k = 0; int i = 0;
while (ch[i++]) k++;
return k;
}
 
 
 
 
char **zap_mas(int n)
{char **hstr;
int i,k;
int m = 80;
hstr = new char*[n];
for (i = 0; i < n; i++) hstr[i] = new char[m];
clrscr();
cout<<"Vvedite text \n";
for (i = 0; i < n; i++) gets(hstr[i]);
 
return(hstr);
 
 
}
//----------------------------------------------------------------------------------
void prosm(char** mas, int n)
 
{int i;
for (i = 0; i < n; i++) puts(mas[i]);}
 
//----------------------------------------------------------------------------------------
using namespace std;
main()
{
char **str;
 
 
 
int n,p;
 
while (1)
    {cout<<"\n 1 - Zapolnenie strok";
    cout<<"\n 2 - Prozmotr strok";
    cout<<"\n 3 - Poisk";
    cout<<"\n 4 - Exit";
    cout<<"\n Your choose:";
    cin>>p;
 
    switch(p){
 //-----------------------------------------------------------------
     case 1:
{clrscr();
cout<<"Vvedite razmer strokovogo massiva \n";
cin>>n;
str = zap_mas(n+1);
 clrscr();
 break;
}
//----------------------------------------------------------------
        case 2:
                {clrscr();
        prosm(str,n+1);
                getch();
        clrscr();
                break;}
//----------------------------------------------------------------
case 3: { clrscr();
 
int x =  0;
for (int i = 1; i < n+1; i++) cout<<"\n"<<i<<". "<<len(str[i]);
cout<<"\n";
for (int i = 0; i < n+1; i++) if (len(str[i]) > x) x = len(str[i]);
cout<<"\n"<<"Samaya bolshaya stroka soderzit "<<x<<" znak(a|ov) \n";
 
 
getch();
clrscr();
break;
}
 
 
//----------------------------------------------------------------
case 4: {  clrscr();
            return 0;
}
//-----------------------------------------------------------------
 
} 
 
 }       
 
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2010, 16:44

Найти в тексте самое длинное слово и самую длинную фразу
В школе преподаватель написал на доске не большой текст. Вызвал к доске ученика...

В заданном тексте найти самое длинное слово и самую длинную фразу
У заданном тексте найти самое длинное слово и самую длинную фразу

В данном тексте найти самую длинную последовательность символов, не содержащую пробелов
привет помогите решить) задача: В данном тексте найти самую длинную...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru