Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 3 / 1
Регистрация: 23.09.2019
Сообщений: 107
1

Найти наименьшее расстояние между словами

09.05.2020, 08:48. Показов 1642. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Распечатать те пары слов, расстояние между которыми наименьшее. (Расстояние между словами — это количество позиций, в которых слова различаются. Например, расстояние между словами МАМА и ПАПА или МЫШКА и КОШКА равно двум.)

Помогите разобраться в проблеме. Чувствую, что намудрил.
Вкратце, задумка была такая: разбить строку на массив слов, поочередно присваивать двум переменным i-й и i-й+1 элементы и сравнивать их между собой, записывать результат в новые массивы, а далее сравнить отдельно сумму поочередных элементов этих массивов и найти наименьший.



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
#include <iostream>
#include <sstream>
#include <string>
#define min(x,y) ((x)<(y))?(x):(y)
#define max(x,y) ((x)>(y))?(x):(y)
 
int count(std::string arr, int *arr2, int *arr3, int *arr4)
{
    for (int i = 0; i < sizeof(arr); i++) {
        int mn = min(sizeof(arr[i]), sizeof(arr[i + 1]));
        int mx = max(sizeof(arr[i]), sizeof(arr[i + 1]));
        arr2[i] = mx - mn;
    }
    int cnt = 0;
 
    for (int i = 0; i < sizeof(arr); i++)
    {
        std::string st1;
        st1 = arr[i];
        std::string st2;
        st2 = arr[i + 1];
        int mn = min(sizeof(arr[i]), sizeof(arr[i + 1]));
        int mx = max(sizeof(arr[i]), sizeof(arr[i + 1]));
        arr2[i] = mx - mn;
        for (int j = 0; j < mn; j++)
        {
            if (tolower(st1[j]) != tolower(st2[j])) {
                cnt++;
            }
            arr3[i] = cnt;
        }
    }
        for (int i = 0; i < sizeof(arr3); i++) {
            arr4[i] = min((arr2[i] + arr3[i]), (arr2[i + 1] + arr3[i + 1]));
        }
        int minMas = arr4[1];
        int index = 0;
        for (int i = 0; i < sizeof(arr4); i++) {
            if (arr[i] < minMas) {
                minMas = arr[i];
                index = i;
            }
        }
        std::cout << "Минимальное расстояние между " << index << " парой." << std::endl;
    return minMas;
} 
 
 
 
 
int main() {
    const int N = 256;      
    std::string arr[256];
    int arr2[25] = { 0 };
    int arr3[25] = { 0 };
    int arr4[25] = { 0 };
    char S[N] = "Hello, i am string\nHow are you?\n-All OK!";  
    char word[N] = {};          
    std::stringstream x;       
    x << S;                
    int i = 0;
    while (x >> word) {
        arr[i] = word;
        i++;    
    }
    std::cout << "Равно: " << count(arr, arr2, arr3, arr4);
    std::cin.get();
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2020, 08:48
Ответы с готовыми решениями:

найти наименьшее расстояние между двумя точками
Проблема в функции short_distance ,она должна перебирать массив с координатами точек и найти...

Найти наименьшее расстояние между двумя локальными максимумами заданной последовательности натуральных чисел
Здрасте. Я начинающий, прохожу курс обучения C++. И тут такая задача: Определите наименьшее...

Наибольшее расстояние между словами в файле
Полный текст задачи: Дан файл, содержащий текст на русском языке и некоторые два слова. Определить,...

Наименьшее расстояние между двумя локальными максимумами
Определите наименьшее расстояние между двумя локальными максимумами последовательности натуральных...

1
3 / 3 / 1
Регистрация: 23.09.2019
Сообщений: 107
11.05.2020, 11:53  [ТС] 2
Кто-нибудь может помочь?
0
11.05.2020, 11:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2020, 11:53
Помогаю со студенческими работами здесь

Определить наименьшее расстояние между тремя точками
Заданы три точки А(a1,a2,a3), В(b1,b2,b3) и С(c1,c2,c3). Определить, между какими точками...

Вывести те пары слов, расстояние между которыми наименьшее
Вывести те пары слов, расстояние между которыми наименьшее.(Расстояние между словами это количество...

Распечатать те пары слов, расстояние между которыми наименьшее
Распечатать те пары слов, расстояние между которыми наименьшее. (Расстояние между словами — это...

Массив: Определить наименьшее расстояние между соседними элементами в строке чисел...
Напишите пожалуйста программу, определяющую наименьшее расстояние между соседними элементами в...

Найти расстояние от начала координат до каждой точки и расстояние между точками
задача на С++ На плоскости заданы точки своими координатами. Найти расстояние от начала координат...

Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными точками этих
1. Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru