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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
theprince
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 3
#1

не могу решить до конца - C++

20.11.2009, 15:51. Просмотров 401. Ответов 4
Метки нет (Все метки)

Есть задачка, и не могу понять в чём я ошибаюсь:
Нужно из одного текста, который мы вводим с клавиатуры, найти самые длиное слово и сравнить если его последние буквы равны с первыми буквами из последуюшего слова к примеру"букВА ВАл" первое слово он находит а вот остальные слова если есть такого же размера он не проверяет!

вот собственно и код:
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 void main()
{
  
    char *cuvint,*text, cuvmax[20][10], C[20];
    int len, nmax, lmax, i;
    clrscr();
    printf("\n dati un text\n ");
    gets(text);
    clrscr();
    printf("\n Textul initial \n ");
    puts(text);
    if((cuvint = strtok(text," ,.?!:")) == NULL)
    {
    printf("\n Nu-s cuvinte");
    getch();
    exit(0);
    }
    strcpy(cuvmax[0], cuvint);
    lmax = strlen(cuvmax[0]);
    nmax = 1;
    while((cuvint = strtok(NULL, " ,.?!:")) != NULL)
    {
    len = strlen(cuvint);
    if(len > lmax) {
        strcpy(cuvmax[0], cuvint);
        nmax = 1;
        lmax = len;
    }
 
       if ((cuvint[0] == cuvmax[0][lmax-2])&&(cuvint[1] == cuvmax[0][lmax-1]))
        printf ("\n literele   %c%c   este egala cu    %c%c", cuvint[0],cuvint[1], cuvmax[0][lmax-2], cuvmax[0][lmax-1]);
    else
    if(len == lmax) {
        strcpy(cuvmax[nmax++], cuvint);
        lmax = len;
         if ((cuvint[0] == cuvmax[0][lmax-2])&&(cuvint[1] == cuvmax[0][lmax-1]))
        printf ("\n litera %c %c   este egala cu    %c %c", cuvint[0],cuvint[1], cuvmax[0][lmax-2], cuvmax[0][lmax-1]);
 
    }
    
    }
    printf("\n cuvintul(ele) au lungimea maximala %d:\n", lmax);
    for(len=0; len<nmax; len++)
    printf("%-20s", cuvmax[len]);
    getch();
 
}
заранее благодарен за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2009, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не могу решить до конца (C++):

Не могу сделать полиморфизм. Не могу до конца понять пример по этому поводу - C++
Есть такая задача: Класс Animal должен быть абстрактным, имеет имя и вес. Класс Reptile имеет habitate, который держит в себе среду...

Не могу счтиать файлдо конца - C++
Здравствуйте,есть программа для передачи символов в азбуку Морзе,с клавиатурным вводомвсе хорошо но если считывать с файла ,то считывает...

Не могу до конца понять условие задачи - C++
Здравствуйте. Задача 9.5 из учебника программированию Б. Страуструпа: Классы Book и Patron у меня уже есть, не пойму следущее:...

Не могу до конца разобрать код программы - C++
Задание выглядит следующим образом дан код программы его надо прочитать и разобрать, т.е. объяснить выполнение программы. И вот...

Не могу прочитать файл произвольного доступа с конца - C++
Странное происходит в функции read_file, а именно не работает seekg. Почему-то читается всё время последнее значение. Почему так и что с...

Двусвязные списки, не могу добавить узел с конца - C++
Делаю лабу по динамическим структурам данным, написал функцию добавления с начала и с конца. Но, добавление с конца не работает, я не...

4
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
20.11.2009, 16:46 #2
не совсем понятно что нужно сделать.
0
theprince
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 3
23.11.2009, 00:45  [ТС] #3
предположим у нас есть текст
"Маша ездит одинаковым маршрутом Омск в городском трамвае"
и мне нужно найти самое длинное слово, а затем проверить не начинается ли следуешее слово с теми же 2-мя буквами на котором заканчивается самое длинное слово, у меня находится длинное слово, находится и сравнивается и последующее только загвоздка в том что не могу понять почему если сушествуют 2 длинных слова то оно проверяет только первое*?
0
JamesBlack
37 / 37 / 3
Регистрация: 28.07.2009
Сообщений: 144
23.11.2009, 02:39 #4
посмотри дебаггером, что происходит. На каком шаге вылетает. Может там вообще ошибка.

P.S. текст что ты выводишь... это ваще что за язык ???
0
theprince
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 3
23.11.2009, 21:02  [ТС] #5
Цитата Сообщение от JamesBlack Посмотреть сообщение
P.S. текст что ты выводишь... это ваще что за язык ???
ну это молдавский язык ... а вот по шагам щас сделаю =)
0
23.11.2009, 21:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2009, 21:02
Привет! Вот еще темы с ответами:

Не могу решить - C++
Создать два бинарных файла, все числа, содержащиеся в обоих файлах одновременно, переписать в третий файл. Дополнительных массивов не...

Не могу решить .... - C++
=-O Я некак не могу решыть ...... Вот ети задачи : Задача №1 Васе на день рождения подарили много шариков и игрушечный лазер.Шарики...

Не могу решить! C++ - C++
1)Даны две дроби A/B и C/D (А, В, С, D — натуральные числа). Составить программу для умножения дроби на дробь. Результат должен быть...

Не могу решить на C++ - C++
Задание: Программа должна работать следующим образом. Сначала пользователь вводит количество обрабатываемых чисел (значение n). Затем, он...


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

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

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