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

Реализовать функцию замены одного символа на другой в заданной строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка "sin: неоднозначный вызов перегруженной функции" http://www.cyberforum.ru/cpp-beginners/thread1830706.html
Доброго времени суток! Объясните, пожалуйста, что означает ошибка "sin: неоднозначный вызов перегруженной функции", уже не в первый раз сталкиваюсь с этим. Не могу понять, какова причина ошибки, хочу...
C++ Вычислить сумму ряда может кто подскажет как формулу записать? #include <iostream> using namespace std; int main() { double N, an=1,an0,x,sum; cin>>x>>N; sum=0; int i; an0=1; for( i=1;... http://www.cyberforum.ru/cpp-beginners/thread1830698.html
Преобразование string* в string C++
Здравствуйте, друзья. У меня есть класс. В нем описано поле string *GPS; В конструкторе выделяю память. Передаю именно *_GPS для использования метода инициализации. Class::Class (string *_GPS)...
Запись таблицы частот из файла в список или ассоциативный массив C++
Всем привет. Имеется запись таблицы частот в лист. list < Tree* > Read::frequence(map<char, int> &m) { list < Tree* > t; ofstream fout("frequence.txt"); for (map<char, int>::iterator i =...
C++ Сортировка одномерного массива http://www.cyberforum.ru/cpp-beginners/thread1830681.html
Где ошибка? Нужно отсортировать элементы массива таким образом, чтобы сначала были размещены все положительные элементы, а затем все отрицательные (0 считаем положительным элементом). #include...
C++ Как вывести минимальное положительное значение, а не все положительные #include <iostream> #include <math.h> using namespace std; int main() { double x,y; double a,b,h; cout<<"A="; cin>>a; cout<<"B="; cin>>b; подробнее

Показать сообщение отдельно
wolfdaver_77
6 / 6 / 3
Регистрация: 20.09.2016
Сообщений: 59
Завершенные тесты: 1
21.10.2016, 10:11  [ТС]
Кликните здесь для просмотра всего текста
Цитата Сообщение от zss Посмотреть сообщение
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
#include <iostream>
using namespace std;
 
char* myfunc(char* source)
{
    int i(0);
    for (int k=1; source[k] != '\0'; k++)
    {
        i++;
        if (source[k] == 'o')
            i++;
    }
    char* outp = new char[i];
    int k=0;  
    for (int j=0; source[j] != '\0'; j++)
        if (source[j] != 'o')
        {
            outp[k] = source[j];
            k++;
        }
        else
        {
            outp[k++] = 'a';
            outp[k++] = 'a';
        }
        outp[k]=0; // забыли терминальный ноль
    return outp;
}
 
int main()
{
    char a[] = "Hello world!"; // a нежелательно делать указателем на константную строку
    char* s = myfunc(a);
    cout << s << endl;
    system("pause");
    return 0;
}

Блин, теперь работает. Я почему то думал, что 0 символ ставиться автоматически.
Итого, на тесте у меня были такие элементарные ошибки:
создал масив
C++
1
char* outp[i];
И цикл начинался с 0, а не 1 и не правильно считало нужное количество символов.
C++
1
2
3
4
5
6
for (int k(1); source[k] != '\0'; k++)
    {
        i++;
        if (source[k] == 'o')
            i++;
    }
Ошибки элементарные.
Мои шансы на прохождения собеседования резко упали (
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru