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

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

Войти
Регистрация
Восстановить пароль
 
 
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
#1

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

24.04.2012, 21:28. Просмотров 1133. Ответов 19
Метки нет (Все метки)

Тема "Нестандартные функции"
Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. Символьная строка вводится с клавиатуры. В программе можно использовать стандартную функцию strlen (имя строки) из <string.h> , которая возвращает значение длины строки (количество символов в строке без нулевого байта). Подготовить контрольный пример.
Просьба написать на максимально простом языке, чтобы я смог потом разобраться.
Спасибо за ранее.

Добавлено через 9 минут
Посмотрите хоть кто-нибудь

Добавлено через 1 минуту
срочно надо............................

Добавлено через 7 минут
Помогите кто-нибудь......................

Добавлено через 8 минут
у меня есть уже несколько вариантов, но они не работают(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2012, 21:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. (C++):

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. - C++
Добрый вечер))не могли бы вы мне помочь с задачками,они в принципе лёгкие ,мы только начали изучать Си++ ,но я уже не понимаю,если не...

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. - C++
Приветик всем.Немогли бы вы мне написать эти 2 програмки Написать и протестировать функцию compress(), которая &quot;сжимает&quot; строку,...

Написать и протестировать функцию, которая "переворачивает" строку, передаваемую ей в качестве параметра - C++
Написать и протестировать функцию,которая &quot;переворачивает&quot; строку,передаваемую ей в качестве параметра

Написать программу, которая заменяет в указанном слове все буквы "b" на сочетание "ky" - C++
Написать программу, которая заменяет в указанном слове все буквы &quot;b&quot; на сочетание &quot;ky&quot;. Использовать 2 массива: начальный и результирующий....

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

Написать и протестировать функцию, которая преобразует строку шестнадцатеричных цифр в эквивалентное ей целое десятичное число - C++
Написать и протестировать функцию, которая преобразует строку шестнадцатеричных цифр в эквивалентное ей целое десятичное число. ПРОБЛЕМА В...

19
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
24.04.2012, 21:32 #2
ну варианты выложите свои. может там близко к правде.

интересно, что в этой функции "нестандартного"?
1
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
24.04.2012, 21:41  [ТС] #3
хорошо. сейчас залью.

Добавлено через 1 минуту
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
#include <stdio.h>
 
char* remove_spaces(char* s)
{
    int i = 0, j = 0;
 
    while(s[i] != '\0')
    {
        if(s[i] != ' ')
        {
            s[j] = s[i];
            ++j;
        }
 
        ++i;
    }
 
    s[j] = '\0';
 
    return s;
}
 
int main(void)
{
    char str[256] = "";
 
    printf("string: ");
    scanf("%255[^\n]", str);
 
    remove_spaces(str);
    printf("result: %s\n", str);
 
    return 0;
}
Добавлено через 17 секунд
только не работает
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
24.04.2012, 21:59 #4
и где тут strlen?
1
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
24.04.2012, 22:02 #5
попробуй

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
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
 
void remove(char *str)
{
    for(int i=0;i<strlen(str);i++)
        if (str[i]==32) {
            for(int j=i;j<strlen(str)-1;j++) {
                if (str[j+2]=='\0'){ str[j]=str[j+1];
                str[j+1]='\0';break; }
 
                str[j]=str[j+1];}
 
        }
}
int main()
{
 
    char a[100];
 
    cout<<"vvedite stroky\n";
    gets(a);
    remove(a);
    cout<<a;
}
1
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:07  [ТС] #6
Xavier, очень много ошибок в ней тоже не работает

Добавлено через 4 минуты
надо сегодня уже в 14:30 показать

Добавлено через 11 минут
Вообще огонь задачу по С++ никто не может решить?
0
softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
25.04.2012, 08:15 #7
Вот на работает просто подправил код сверху
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
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vcl.h>
using namespace std;
void remove(char *str)
{
    for(int i=0;i<strlen(str);i++)
        if (str[i]==32) {
            for(int j=i;j<strlen(str)-1;j++) {
                if (str[j+2]=='\0'){ str[j]=str[j+1];
                str[j+1]='\0';break; }
               str[j]=str[j+1];}
 }
}
int main()
{
  char a[100];
    cout<<"vvedite stroky\n";
    gets(a);
    remove(a);
    cout<<a <<endl;
    system("pause");
}
1
Миниатюры
Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы.  
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
25.04.2012, 08:17 #8
Какие ошибки ,что именно не работает . У меня она прекрасно работает) з.ы делал на qt
1
softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
25.04.2012, 08:18 #9
Цитата Сообщение от Xavier Посмотреть сообщение
Какие ошибки ,что именно не работает . У меня она прекрасно работает)
Да всё там работает там нехватало
C++
1
#include<vcl.h>
и всё


сам лично протестил
1
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
25.04.2012, 08:19 #10
C++
1
2
3
4
5
6
7
8
9
10
char *removeSpc(char * str)
{
   for (int i = 0; str[i] != '\0'; i++)
   {
      if (str[i] == ' ')
         for (int j = i; str[i] != '\0'; j++)
            str[j] = str[j+1];
   }
   return str;
}
1
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:21  [ТС] #11
может у меня с программой что-то? не открывает видимо библиотеки... в самом начале уже за ошибку принимает.
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vcl.h>
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
25.04.2012, 08:22 #12
Цитата Сообщение от softonet Посмотреть сообщение
Да всё там работает там нехватало
C++
1
#include<vcl.h>
и всё


сам лично протестил
vcl исключительно борландовская фишка.
1
softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
25.04.2012, 08:23 #13
kazak, ясно просто у меня Борланд)))
1
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
25.04.2012, 08:23 #14
D01phiN, какой компилятор?
1
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:25  [ТС] #15
kazak, Borland C++ Bulider Enterprise
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2012, 08:25
Привет! Вот еще темы с ответами:

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

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

Написать функцию поиска человека по полю "фамилия" в массиве структур "Note" ("Персональная информация") - C++
Вывести из структуры информацию о человеке, чья фамилия введена с клавиатуры #include &lt;iostream&gt; #include &lt;locale&gt; #include...

Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" или "Воскресенье" - C++
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: &quot;Рабочий день&quot;,&quot;Суббота&quot; или...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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