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

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

Восстановить пароль Регистрация
Другие темы раздела
C (СИ) Задана матрица В(4,4). Если в строке есть хотя бы одна единица, то заменить эту строку нулями http://www.cyberforum.ru/cpp-beginners/thread1830707.html
Здравствуйте ! прошу прощенья но немогли бы вы подсказать как это можно было бы решить без указателей ?
C (СИ) Почему при выделении памяти перед malloc явно указывают тип? Вопрос в заголовке темы. Почему пишут так: short length = 5; char *buffer = (char*)malloc(sizeof(char) * length); Можно же написать так short length = 5; char *buffer = malloc(sizeof(char) * length); Ведь malloc выделяет просто отрезок памяти, а что там будет храниться - дело десятое. Или нет? http://www.cyberforum.ru/cpp-beginners/thread1830688.html
В одномерном массиве, состоящем из вещественных элементов, вычислить C (СИ)
Нужно написать программу на C, которая будет делать следующее: В одномерном массиве, состоящем из вещественных элементов, вычислить: 1) вывести на печать элементы массива, значения которых больше их индексов. 2) количество элементов массива, не меньших заданного элемента С, значение С вводить с клавиатуры. 3) Заменить все положительные элементы массива квадратами индексов. ...
Организация динамического двухмерного массива. Порядок распределения памяти C (СИ)
Итак, софорумцы, здравствуйте. Как всегда, преподавателя ещё нет, а я не знаю прав я или нет. Задача. Требуется организовать двухмерный массив. Мой порядок действий. 1. Вначале объявляется указатель на указатель 2. После мы резервируем память на указатель, в нашем случае массив указателей. В зависимости от количество выделенной памяти. 3. Каждым указателем массива указываем на необходимое...
C (СИ) Передать аргумент по значению в функцию http://www.cyberforum.ru/cpp-beginners/thread1830370.html
Функция atoi преобразовывает в int не только значение ch, но и весь массив number. Как правильно передать в функцию только элемент массива? Например: number = 1254; В temp_int получаем 11254 char number; char ch; ch = number; temp_int = atoi(&ch);
C (СИ) ЭЦП Эль-Гамаля #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define L 50 int main(int argc, char *argv) { long y,r,u,s,l; int i,z; int p,g,x,k,q,h,K; подробнее

Показать сообщение отдельно
wolfdaver_77
6 / 6 / 3
Регистрация: 20.09.2016
Сообщений: 56
Завершенные тесты: 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++;
    }
Ошибки элементарные.
Мои шансы на прохождения собеседования резко упали (
 
Текущее время: 15:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru