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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
#1

Написать и протестировать функцию для замены символов “:” на “.” в заданной строке - C++

25.02.2010, 16:36. Просмотров 1422. Ответов 3
Метки нет (Все метки)

13. Написать и протестировать функцию для замены символов “:” на “.” в заданной строке, начиная с указанной позиции
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2010, 16:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать и протестировать функцию для замены символов “:” на “.” в заданной строке (C++):

Написать и протестировать функцию, которая определяет, совпадают ли в заданной строке первая и последняя буквы - C++
Написать и протестировать функцию, которая определяет, совпадают ли в заданной строке первая и последняя буквы.

Написать функцию для определения количества цифровых символов в заданной текстовой строке - C++
Написать процедуру/функцию на языке программирования для определения количества цифровых символов в заданнойтекстовой...

Написать функцию замены всех русских символов в строке пробелами - C++
Нужно было написать функцию замены всех русских символов в строке пробелами. Написал, но использовал не свою функцию, а стороннюю. Сказали...

Написать функцию замены всех русских символов в строке пробелами - C++
Написать функцию замены всех русских символов в строке пробелами. Ввести и обработать две смешанные строки. Буду признателен за помощь.

Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str - C++
Помогите ребят!!!!препод задачи дал для аттестации,сделал фактически все,кроме этой: "Написать и протестировать функцию, которая по...

Создать функцию замены символов в char строке? - C++
У меня вышеприведенный код работает лиш для замены первого встретившегося символа -- далее не идет даже копирования из исходной строки -...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
25.02.2010, 18:08 #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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define MAX_LENGTH 255
 
void change(char* str, int pos);
 
int main()
{
    char string[MAX_LENGTH];
    int position;
 
    printf("\nInput string: ");
    gets(string);
 
    printf("\nInput position: ");
    scanf("%d", &position);
 
    change(string, position);
 
    printf("Result: %s", string);
 
    getch();
    return 0;
}
 
void change(char* str, int pos)
{
    int i = pos;
 
    for (i = pos; i < strlen(str); i++)
    {
        if (str[i] == ':')
            str[i] = '.';
    }
}
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
25.02.2010, 18:21 #3
Тлеу,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Возвращает длину строки str без учета символа конца строки
int StrLen(const char* str)
{
  int lenght = 0;
 
  while(*str++)
    ++lenght;
 
  return lenght;
}
 
// Заменяет символ ':' на '.' в строке str, начиная с позиции pos
void Replace(char* str, int pos)
{
  if(StrLen(str) < pos)
    return;
 
  for(int i = pos; str[i]; ++i)
    if(str[i] == ':')
      str[i] = '.';
}
nameless, в цикле в 32 строке на каждой итерации будет снова и снова вызываться функция strlen - неэффективно. Лучше ограничиться одним вызовом этой функции.
C++
1
int lenght = strlen(str);
1
PointsEqual
ниначмуроФ
835 / 519 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.02.2010, 18:22 #4
Цитата Сообщение от nameless Посмотреть сообщение
Если правильно задание, то вот:

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 <stdio.h>
#include <conio.h>
#include <string.h>
 
#define MAX_LENGTH 255
 
void change(char* str, int pos);
 
int main()
{
    char string[MAX_LENGTH];
    int position;
 
    printf("\nInput string: ");
    gets(string);
 
    printf("\nInput position: ");
    scanf("%d", &position);
 
    change(string, position);
 
    printf("Result: %s", string);
 
    getch();
    return 0;
}
 
void change(char* str, int pos)
{
    int i = pos;
 
    for (i = pos; i < strlen(str); i++)
    {
        if (str[i] == ':')
            str[i] = '.';
    }
}

если ввести позицию отрицательную, то строка не меняется)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2010, 18:22
Привет! Вот еще темы с ответами:

Реализовать функцию замены одного символа на другой в заданной строке - C++
Нужно написать функцию для замены символа 'о' на &quot;аа&quot; . Не использовать стандартную библиотеку шаблонов, возвращаемое значение типа char*...

Написать функцию для подсчета нецифровых символов в строке - C++
Подскажите пожалуйста, как написать функцию для подсчета нецифровых символов в строке. Сам не могу догадаться как учесть все нецифровые...

Написать функцию замены элементов на 8 с заданной позиции до конца массива - C++
Написать функцию замены элементов на 8 с заданной позиции до конца массива (с проверкой истинности позиции). Вот такой код есть: ...

Написать и протестировать функцию, которая в строке, передаваемой ей в качестве параметра, заменяет каждый второй элемент на заданный символ. - C++
помогите ребят!!! вот препод задал мне задачи для зачетной недели, фактически все сделал,кроме этой: &quot;Написать и протестировать функцию,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.02.2010, 18:22
Ответ Создать тему
Опции темы

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