Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ map,немогу сообразить,лаба. http://www.cyberforum.ru/cpp-beginners/thread214115.html
*текст задания* В файле хранится информация о продуктах: наименование, цена, количество про-данного товара в шт. за последний месяц.(сорт.по возраст.цены,по алфавиту) Вывести на экран сведения о 10 (можно меньше) товарах, которые принесли наибольший доход. вопрос:как вывести на экран сведения о товаре,которые принесли наибольший доход. то что надо кол-во на цену умножить эт я поняла:)но я...
C++ Решение СЛУ методом Гаусса Напишите плз прогу, которая будет решать слу методом Гаусса. #include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; #define nmax 100 int _tmain(int argc, _TCHAR* argv) { http://www.cyberforum.ru/cpp-beginners/thread214114.html
C++ Добавить отсутствующие конструкторы
#include <iostream> using namespace std; class base { int i, j; public: base (int n, int m) { i=n; j=m;} void showij() { cout << i << ' ' << j << '\n'; } };
Циклические программы по накопления суммы или произведения. Массив. C++
Такая задача: Дано одномерный массив С, который состоит из 12 элементов. Вычислить все значения функции, а также сумму значений функций для отрицательных элементов массива. Язык - Си.
C++ программа с массивами http://www.cyberforum.ru/cpp-beginners/thread214084.html
помогите,пожалуйста, студенту написать прогу на си. Такая вот задача Дан одномерный массив А, состоящий из N элементов. Исключить из массива первый отрицательный элемент, следующий за максимальным.
C++ Вычислить бесконечную сумму Помогите пожалуйста, нужно написать программу на C++ для вычисления бесконечной суммы с заданной точностью, используя рекурентную зависимость: подробнее

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

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;
}
//-----------------------------------------------------------------
 
} 
 
 }       
 
    }
 
Текущее время: 09:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru