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

задача на Строки - C++

Восстановить пароль Регистрация
 
Chron4ik
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
15.11.2011, 14:03     задача на Строки #1
Здравствуйте. прошу помочь мне с написанием вот такой вот программы...

Даны два слова: U и V, где U - напечатанное нами неправильное слово или правильно, а V - эталонное. Со словом U можно выполнять след. операции: "Удалить символ", "Вставить символ", "Заменить".
Вопрос - сколько таких элементарных операций понадобится, чтобы из U получить V.

Дело в том, что строки мы не проходили, а разобраться самому не получается.
Ну, всем кто помог, заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 14:03     задача на Строки
Посмотрите здесь:

задача на строки C++
C++ Задача, строки, с++
задача на Строки C++
C++ Задача на строки
C++ задача на строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
15.11.2011, 14:27     задача на Строки #2
Chron4ik, предлагаю просто заменить несоответсвующие буквы в слове U на буквы из слова V
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{ 
    char U[] = "tasgh";
    char V[] = "test";
    cout<<"Etalon : "<<V<<endl;
    cout<<"String : "<<U<<endl;
    
    for(int i = 0; V[i] != '\0'; i++)
    {
        if(U[i] != V[i])
            U[i] = V[i];
    }
    //Г¤Г*ëåå ïðîñòî îòñåêГ*ГҐГ¬ îñòГ*ГІГ*ГўГёГіГѕГ±Гї Г·Г*Г±ГІГј U
    U[i] = '\0';
    cout<<"Correct: "<<U<<endl;
    system("pause");
    return 0;
}
Миниатюры
задача на Строки  
Chron4ik
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
15.11.2011, 17:58  [ТС]     задача на Строки #3
-=ЮрА=-, так можно сделать, да. Но суть в том, что в долбаной задаче требуется найти количество операций, произведенных над словом U, чтобы получилось слово V.
Вот ты вроде использовал только замену, то есть операция было произведена была только одна? так получается?
-=ЮрА=-
Заблокирован
Автор FAQ
15.11.2011, 18:10     задача на Строки #4
Цитата Сообщение от Chron4ik Посмотреть сообщение
Вот ты вроде использовал только замену, то есть операция было произведена была только одна? так получается?
подсчитать число замен - это совсем тривиал заводим вначале счётчик операций int k = 0; и при каждой отработке условия
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
if(U[i] != V[i])
кроме самой операции ещё и счётчик увеличиваем выйдет так
C++
1
2
3
4
5
6
7
8
for(int i = 0, k = 0; V[i] != '\0'; i++)
        {
                if(U[i] != V[i])
                {
                        U[i] = V[i];
                        k++;
                 }
        }
Ну а после цила выводи счётчик на экран и всё
Chron4ik
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 12
15.11.2011, 18:23  [ТС]     задача на Строки #5
-=ЮрА=-, огромное спасибо. Действительно, всё просто.
Yandex
Объявления
15.11.2011, 18:23     задача на Строки
Ответ Создать тему
Опции темы

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