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

Ошибка в алгоритме со строками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Связный список, удаление http://www.cyberforum.ru/cpp-beginners/thread545366.html
написал программу работы со списком... проблема в удалении элемента по его имени(в процедуре удаления remove подключается процедура поиска find) но почему-то не работает поиск элемента... кажется ошибка где-то в find... пожалуйста помогите... #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h>
C++ очень нужна помощ по С++ В файле содержится шнформация о книгах библиотеки: номер УДК, фамилия и инициалы автора, название, год издания, количество экземпляров данной книги в библиотеци.Написаты программу, которая бы обеспечивала: а) Исходное формулировки данных о все книги в библиотеке в виде книги, бы ) при ввидачи каждой книги вводится № УДК и программа уменьшает значение количества книг на единицу или кажещо книги... http://www.cyberforum.ru/cpp-beginners/thread545354.html
C++ расстояние от точки до функции С++
у меня было задание такое: Определить минимальное расстояние функции f(x)=15logx-x от точки А(Xa,Ya) на интервале x=Xmin:h:Xmax...мой код: #include "stdafx.h" #include <math.h> #include <iostream> #include <conio.h> using namespace std; int main () {
code composer studio 5 visual linker C++
Сори, если не сюда эта тема относится, но ничего более подходящего не нашел Как мне включить visual linker в ccs 5 если кто работал?
C++ виртуальные функции.... http://www.cyberforum.ru/cpp-beginners/thread545337.html
как отсортировать площадь "area()" в порядке возрастания. кто знает напишите.... #include <iostream> #include <clocale> using namespace std; //--------------------------------------------------------------
C++ Рекурсивные алгоритмы обработки структур данных Разработать программы по алгоритму с использованием рекурсивной функции и без использования рекурсивной функции. Оценить время выполнения и сложность алгоритма. подробнее

Показать сообщение отдельно
DeIVIiurg
1 / 1 / 0
Регистрация: 03.05.2011
Сообщений: 16
11.04.2012, 18:51     Ошибка в алгоритме со строками
По условию задачи, вводится строка со словами, необходимо вывести на экран слово, в котором наименьшее число повторяющихся букв. Т.е. например, слово бегемот, барабан, сын, мама...Вывести должно мама. Если таких слов несколько вывести первое.
Вот мой кусок кода, понимаю, что работает неправильно, но как переделать догнать не могу(( Логика в том,что когда встречается одинаковая буква, то я её заменяю на символ $ , а потом дополнительно проверяю совпадение с данным символом
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
#include <iostream>
#include <cstring>
 
int main()
{
        char str[80];
        char *strPtr;
        char *strProm;
        char *word = 0;
        int count = 80;
        bool gate = false;
 std::cout<<"Vvedite stroku"<<std::endl;
        std::cin.getline(str,80);
 
        strPtr = strtok(str," ");
 
        while(strPtr != NULL)
        {
                int temp = 0;
                strProm=new char[200];
                strcpy(strProm,strPtr);
                for(int i = 0; *(strPtr + i) != '\0'; i++)
                {
                        for(int j = i + 1; *(strPtr + j) != '\0'; j++)
                        {
                                if((*(strPtr + i) == *(strPtr + j))||(*(strPtr+j)=='$'))
                                {
                                    *(strPtr+j)='$';
                                }
                        }
                    temp++;
                }
                if(count > temp)
                {
                        if(gate)
                                delete[] word;
 
                        word = new char[strlen(strPtr)+1];
                        strcpy(word,strProm);
                        count = temp;
 
                        gate = true;
                }
 
                strPtr = strtok(NULL," ");
 
        }
 
        std::cout << word << std::endl;
 
        delete[] word;
 
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru