Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
1

Почему не работает код на других компьютерах (на моем работает)?

13.11.2017, 19:09. Просмотров 267. Ответов 12
Метки нет (Все метки)

вот задание: построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам:
в 1 строке удваиваются все гласные, которые стоят на четных местах и которые есть во второй строке на нечетных местах
после этого из 2 строки удаляются эти гласные и она присоединяется к 1 строке.
пример:

вводим :
1. радио
2. тетрадь
на выходе должно быть:
раадиотетрдь

C++ (Qt)
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
70
#include "stdafx.h"
#include <string>
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
 
 
void zad(string w_1, string w_2,string gl){
 
 
    for (int i = 0; i < w_1.length(); i++)
    {
        for (int j = 0; j < w_2.length(); j++)
        {
            if (w_1[i] == w_2[j])                           //проверка на наличие одинаковых символов
            {
                if ((i+1)%2==0 && (j+1)%2!=0)            //Проверка на чётность в первом слове и нечетность во втором символа
                {
                for (int k = 0; k < gl.length(); k++)
                {
                    if (w_1[i] == gl[k])                //проверка на гласные
                    {
 
                        w_1.insert(i, 1, w_1[i]);                   //добавим символ в первую строку
 
                        
                        for (int q = j; q < w_2.length(); q++)    //удалим этот символ из второго слова
                        {
                            w_2[q] = w_2[q+1];
 
                        }
 
                        
                        
                    }
                }
 
                }
            }
        }
        
    }
 
    cout<<endl<<"Результат: "<<w_1<<w_2<<endl;
}
 
 
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    string glas = "аоиеёэыуюя";
 
    string word_1;
    string word_2;
 
    cout<<"Введите 1-е слово: \n";
    getline(cin,word_1);
    cout<<"Введите 2-е слово: \n";
    getline(cin,word_2);
 
    zad(word_1,word_2,glas);
 
    cout<<endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2017, 19:09
Ответы с готовыми решениями:

Почему в одних IDE код работает, а в других нет? (Visual Studio vs DevC++)
Есть простой код, который находит максимальное значение в массиве. Но есть...

Почему на других компьютерах не запускается exe файл?
http://yadi.sk/d/ZkbUdZzWM5Zcj почему у других не запускается файл exe...

Почему не работает код?
можете подсказать почему мой код не работает? задача, из файла читаются...

Почему код не работает?
#include &lt;ctime&gt; #include &quot;std_lib_facilities.h&quot; int main() { vector...

Почему код не работает?
#include &lt;iostream&gt; using namespace std; unsigned long double*...

12
nd2
2889 / 2444 / 1069
Регистрация: 29.01.2016
Сообщений: 8,141
13.11.2017, 20:28 2
В чём заключается "не работа"?
0
demon4222
4 / 4 / 1
Регистрация: 14.10.2017
Сообщений: 23
13.11.2017, 20:32 3
какая Visual studio?
0
Ferrari F1
793 / 522 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
13.11.2017, 21:02 4
а при чем тут ку тэ?
0
demon4222
4 / 4 / 1
Регистрация: 14.10.2017
Сообщений: 23
13.11.2017, 21:04 5
Ferrari F1, если запускать проект с 17 студии на 15-той то ничего не получится
0
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
13.11.2017, 21:37  [ТС] 6
demon4222, а сам код в норме?
0
demon4222
4 / 4 / 1
Регистрация: 14.10.2017
Сообщений: 23
13.11.2017, 21:43 7
nilsonafter, ну у вас же работает
0
Skip19
1 / 1 / 0
Регистрация: 15.10.2017
Сообщений: 13
13.11.2017, 21:58 8
Первую библиотеку убери
0
DobroAlex
Модератор
393 / 335 / 165
Регистрация: 30.04.2016
Сообщений: 1,720
Завершенные тесты: 3
13.11.2017, 21:59 9
nilsonafter, работает
https://ideone.com/N3hqMl
0
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
14.11.2017, 17:42  [ТС] 10
вот задание: построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам:
в 1 строке удваиваются все гласные, которые стоят на четных местах и которые есть во второй строке на нечетных местах
после этого из 2 строки удаляются эти гласные и она присоединяется к 1 строке.
пример:

вводим :
1. радио
2. тетрадь
на выходе должно быть:
раадиотетрдь


С большинством слов работает, но когда ввожу "пуп" и "упу" выдает пууппу, а должно писать пуупп. в чем проблема?



C++ (Qt)
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
70
#include "stdafx.h"
#include <string>
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
 
 
void zad(string w_1, string w_2,string gl){
 
 
    for (int i = 0; i < w_1.length(); i++)
    {
        for (int j = 0; j < w_2.length(); j++)
        {
            if (w_1[i] == w_2[j])                           //проверка на наличие одинаковых символов
            {
                if ((i+1)%2==0 && (j+1)%2!=0)            //Проверка на чётность в первом слове и нечетность во втором символа
                {
                for (int k = 0; k < gl.length(); k++)
                {
                    if (w_1[i] == gl[k])                //проверка на гласные
                    {
 
                        w_1.insert(i, 1, w_1[i]);                   //добавим символ в первую строку
 
                        
                        for (int q = j; q < w_2.length(); q++)    //удалим этот символ из второго слова
                        {
                            w_2[q] = w_2[q+1];
 
                        }
 
                        
                        
                    }
                }
 
                }
            }
        }
        
    }
 
    cout<<endl<<"Результат: "<<w_1<<w_2<<endl;
}
 
 
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    string glas = "аоиеёэыуюя";
 
    string word_1;
    string word_2;
 
    cout<<"Введите 1-е слово: \n";
    getline(cin,word_1);
    cout<<"Введите 2-е слово: \n";
    getline(cin,word_2);
 
    zad(word_1,word_2,glas);
 
    cout<<endl;
}
0
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
14.11.2017, 17:44  [ТС] 11
задание:
построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам:
в 1 строке удваиваются все гласные, которые стоят на четных местах и которые есть во второй строке на нечетных местах
после этого из 2 строки удаляются эти гласные и она присоединяется к 1 строке.
пример:

вводим :
1. радио
2. тетрадь
на выходе должно быть:
раадиотетрдь

вот код:
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
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <stdio.h>
#include <string.h>
#include <windows.h>
 
char * fun(char a[100],char b[100])
{
char c[200];
char c1[200];
char *g="ЙЕЫАОЭЯИЮйеыаоэяию";
int i,j;
int t=0;
for( i=0;i<strlen(a);i++)
{
int fl=0;
int fl1=0;
c[t]=a[i];
t++;
for(j=0;j<strlen(g);j++)
{
if(a[i]==g[j])
{
fl1=1;
}
}
if((i+1)%2==0 && fl1==1)
for(j=0;j<strlen(b);j++)
{
if((j+1)%2!=0)
if(b[j]==a[i])
fl=1;
}
if(fl==1)
{
c[t]=a[i];
t++;
}
}
c[t]='\0';
 
t=0;
for( i=0;i<strlen(b);i++)
{
int fl=0;
int fl1=0;
if((i+1)%2!=0)
for(j=0;j<strlen(g);j++)
{
if(b[i]==g[j])
{
fl1=1;
}
}
for(j=0;j<strlen(a);j++)
if((j+1)%2==0 && fl1==1)
if(a[j]==b[i])
fl=1;
if(fl==0)
{
c1[t]=b[i];
t++;
}
}
c1[t]='\0';
 
strcat(c,c1);
 
return c;
}
 
main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
char a[100];
char b[100];
printf("vvedite stroku 1:\n");
scanf("%s",&a);
printf("vvedite stroku 2:\n");
scanf("%s",&b);
printf("%s\n",fun(a,b));
scanf("%s",&a);
}
0
magirus
14.11.2017, 18:41
  #12
 Комментарий модератора 
Прекратите плодить темы по одному и тому же вопросу.
0
stake-k26
541 / 413 / 324
Регистрация: 25.04.2016
Сообщений: 1,197
14.11.2017, 19:36 13
Дам небольшую подсказку:

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
#include <iostream>
#include <string>
using namespace std;
 
int main (void)
{
    string word_a = "Привет";
    string word_b = "Privet";
    string check = "П";
 
    int len_a = word_a.length();
    int len_b = word_b.length();
    int special_len = check.length();
 
    cout << "Длина первого слова: " << len_a << "\n";
    cout << "Длина второго слова: " << len_b << endl;
 
    int find = 0;
    int coincidence;
 
    for (int i=0; i<len_a; i++)
    {
        coincidence = 1;
        for (int k=0; k<special_len; k++)
        {
            if (check[k] != word_a[i+k]) { coincidence = 0; }
        }
        if (coincidence > 0)
        {
            find = 1;
            break;
        }
    }
 
    if (find) cout << "Есть совпадение";
    else cout << "ERROR!";
    cout << endl;
 
    return 0;
}
nilsonafter, подумайте как именно работает поиск совпадения буквы в слове, и почему ради 1 буквы надо затевать целый цикл.
0
14.11.2017, 19:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2017, 19:36

почему код не работает?
помогите пожалуйста, почему у меня код не работает? Ввожу &quot;х&quot;, потом...

Почему не работает код?
подскажите пожалуйста почему мой код не работает. от меня требуется...

Почему не работает код?
можете подсказать почему мой код не работает правильно ??? задача вот в чем...


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

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

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