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

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

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

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

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

13. Написать и протестировать функцию для замены символов “:” на “.” в заданной строке, начиная с указанной позиции
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2010, 16:36     Написать и протестировать функцию для замены символов “:” на “.” в заданной строке
Посмотрите здесь:
C++ Написать и протестировать функцию, которая определяет, совпадают ли в заданной строке первая и последняя буквы
Написать функцию для определения количества цифровых символов в заданной текстовой строке C++
C++ Написать функцию замены всех русских символов в строке пробелами
C++ Написать функцию замены всех русских символов в строке пробелами
C++ Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str
C++ Создать функцию замены символов в char строке?
C++ Реализовать функцию замены одного символа на другой в заданной строке
Написать функцию для подсчета нецифровых символов в строке C++
C++ Написать функцию замены элементов на 8 с заданной позиции до конца массива
C++ Написать и протестировать функцию, которая в строке, передаваемой ей в качестве параметра, заменяет каждый второй элемент на заданный символ.
Написать функцию замены всех цифр в строке пробелами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
333 / 297 / 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] = '.';
    }
}
CyBOSSeR
Эксперт C++
2299 / 1669 / 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);
PointsEqual
ниначмуроФ
834 / 518 / 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] = '.';
    }
}

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

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