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

В строке, состоящей из слов и знаков препинания, найти слово максимальной длины - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дополнить функционал программы - найти остров с наибольшей береговой линией http://www.cyberforum.ru/cpp-beginners/thread1084793.html
Написал прогу которая находит кол-во островов , как ее дополнить, чтобы находила остров с наибольшей береговой линией и выводила площадь этой береговой линии. #include<iostream> #include<fstream> using namespace std; int func(int **mas, int i, int j, int n, int m) { int k, sum; k = 0;
C++ codeblocks как сделать IDE на русском И что лучше Visual Studio(язык С++) или Embarcadero Rad Studio http://www.cyberforum.ru/cpp-beginners/thread1084769.html
Перегрузка new, delete C++
Помогите найти неточность в формате для перегрузки new и delete: void *operator new(size_t размер) { //выполнение выделения return указатель_на_память; } void operator delete(void *p) { //освобождение памяти, на которую указывает р }
Поменять местами макс и мин эл-ты массива C++
Ребят, как поменять местами макс. и мин. элементы в массиве? Макс. и мин. элемент я нашел...вот код randomize(); int a,n,m,i,j,max=0,min=1000,c; cout«"n="; cin»n; cout«"m="; cin»m; for (i=0; i<n; i++) { for (j=0; j<n; j++) { a=random(20);
C++ Деструктор http://www.cyberforum.ru/cpp-beginners/thread1084752.html
Я написал деструктор, но препод сказал переделать так как надо было смотреть на то, как я выделял память. Помогите исправить. int **m6; for (int i = 0; i < 10; ++i) { m6 = new int*; for (int j = 0; j < 5; ++j) m6 = new int; } for (int i = 0; i < 10; ++i)
C++ Найти учеников которые родились зимой Задание: Дано список записей с полями:фамилия ученика и дата рождения. Найти тех которые родились зимой. К какой теме принадлежит задача?? Как решить? подробнее

Показать сообщение отдельно
MONOLIT93
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 12
29.01.2014, 20:45     В строке, состоящей из слов и знаков препинания, найти слово максимальной длины
В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-, найти слово максимальной длины;
Программа должна обрабатывать любое количество вариантов данных.

Добавлено через 10 минут
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
#include <iostream>
 
using namespace std;
int main (){
    int max=0,a=0,t=0,i,g;
    char str[100],viv[100];
    
    cout <<"Vvedite stroky - ";
    cin.getline (str, 100);
     g=strlen(str)-1;
    for (i=0; i <g; i++){
        
if(str[i]!=' '){if(str[i]!='.'){if(str[i]!=','){if(str[i]!='!'){if(str[i]!='?'){if(str[i]!='-'){if(str[i]!=';'){if(str[i]!='\0'){a=a+1;}}}}}}}}
        
        if (str[i]==' ') {if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='.'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]==','){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='!'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='?'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='-'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]==';'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='\0'){if( a > max ){max = a;t=i;}
            a=0;}
 
    }
    for (i=0; i<=t; i++){ viv[i]=str[i+t-max];}
    cout <<viv;
    cout <<max<<endl;
    system("pause");
return 0;
}
вот код где идет вывод но выводит какую то чушь. как можно исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru