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

Строки и функции - C++

Восстановить пароль Регистрация
 
MOLK
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 30
28.09.2011, 21:37     Строки и функции #1
Написать функцию удаления всех символов "*", и повторить каждый символ отличный от "*".
Вариант задания реализовать в виде функции. Если функция возвращает строку или объект, то это необходимо сделать через указатель. Строки динамические, размер вводится с клавиатуры. Строки вводить с клавиатуры.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 21:37     Строки и функции
Посмотрите здесь:

C++ Функции и строки
Строки и функции C++
C++ Строки. Функции
Символьные строки и функции C++
Разработка функции (размещение строки s1 в середине строки s2 длиной l) C++
C++ Строки и функции
C++ Строки и функции
C++ Функции, строки и файлы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
28.09.2011, 22:56     Строки и функции #2
MOLK, как вариант.
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
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
char*  strdel(char* str, char ch);
 
int  main(void) {  
  int    size = 0;
  char*  str  = NULL;
 
  printf("in size: ");
  if(! scanf("%d", &size))
     exit(1);
 
  fflush(stdin);
  if(size && (str = (char*) malloc(size))) {
         gets(str);
         printf("\n%s\n", strdel(str, '*') );
         free(str);
         str = NULL;
  }
  system("pause");
  return 0;
}
 
char*  strdel(char* str, char ch) {
    char* ptr = str;
    char* sa, *sb;
    int  len = 0;
    // удалить указанный символ из всей строки
    while(*ptr) {
           if( *ptr == ch ) {
                 for(sa = ptr, sb = ptr + 1; *sa; *sa++ = *sb++);
                 continue;
           }
            *ptr++;
             len++;
   }
    // повторить все символы
    sb = str + (len << 1);
    for(sa = str + len; sa >= str; *sa--, sb -= 2) 
                *(short*)sb = (short)(*sa << 8) | *sa;
     return str;
}
Ввод: "*abacan* +****ops"
Результат: "aabbaaccaann ++ooppss"
MOLK
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 30
09.10.2011, 17:32  [ТС]     Строки и функции #3
А что делает функция strdel?
Yandex
Объявления
09.10.2011, 17:32     Строки и функции
Ответ Создать тему
Опции темы

Текущее время: 18:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru