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

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

Восстановить пароль Регистрация
 
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
24.04.2012, 21:28     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #1
Тема "Нестандартные функции"
Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. Символьная строка вводится с клавиатуры. В программе можно использовать стандартную функцию strlen (имя строки) из <string.h> , которая возвращает значение длины строки (количество символов в строке без нулевого байта). Подготовить контрольный пример.
Просьба написать на максимально простом языке, чтобы я смог потом разобраться.
Спасибо за ранее.

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

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

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

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

C++ Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы.
Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. C++
C++ Написать и протестировать функцию,которая "переворачивает" строку,передаваемую ей в качестве параметра
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" или "Воскресенье" C++
Написать функцию, которая удаляет все лишние пробелы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
24.04.2012, 21:32     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #2
ну варианты выложите свои. может там близко к правде.

интересно, что в этой функции "нестандартного"?
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 секунд
только не работает
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
24.04.2012, 21:59     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #4
и где тут strlen?
Xavier
in god we trust
 Аватар для Xavier
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;
}
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:07  [ТС]     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #6
Xavier, очень много ошибок в ней тоже не работает

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

Добавлено через 11 минут
Вообще огонь задачу по С++ никто не может решить?
softonet
 Аватар для 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");
}
Миниатюры
Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы.  
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
25.04.2012, 08:17     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #8
Какие ошибки ,что именно не работает . У меня она прекрасно работает) з.ы делал на qt
softonet
 Аватар для softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
25.04.2012, 08:18     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #9
Цитата Сообщение от Xavier Посмотреть сообщение
Какие ошибки ,что именно не работает . У меня она прекрасно работает)
Да всё там работает там нехватало
C++
1
#include<vcl.h>
и всё


сам лично протестил
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
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;
}
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:21  [ТС]     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #11
может у меня с программой что-то? не открывает видимо библиотеки... в самом начале уже за ошибку принимает.
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vcl.h>
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.04.2012, 08:22     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #12
Цитата Сообщение от softonet Посмотреть сообщение
Да всё там работает там нехватало
C++
1
#include<vcl.h>
и всё


сам лично протестил
vcl исключительно борландовская фишка.
softonet
 Аватар для softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
25.04.2012, 08:23     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #13
kazak, ясно просто у меня Борланд)))
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.04.2012, 08:23     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #14
D01phiN, какой компилятор?
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:25  [ТС]     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #15
kazak, Borland C++ Bulider Enterprise
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.04.2012, 08:32     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #16
D01phiN, это обьявление функции, вставить до main'а.

Добавлено через 5 минут
У меня, кстати, после 7 строчки пропущено i--;.
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 08:33  [ТС]     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #17
Microsoft Visual C++ 2010 установил только что. попробую на нём

Добавлено через 30 секунд
kazak, можешь скинуть ещё раз целиком программу?
softonet
 Аватар для softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
25.04.2012, 08:34     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #18
Цитата Сообщение от D01phiN Посмотреть сообщение
Microsoft Visual C++ 2010 установил только что. попробую на нём

Добавлено через 30 секунд
kazak, можешь скинуть ещё раз целиком программу?
Поставь лучше Builder C++ 2006
D01phiN
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 21
25.04.2012, 09:55  [ТС]     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #19
Скачал пиратку с торента Builder C++ 2006
http://s019.***********/i634/1204/3a/406bcdd827f0.jpg

Добавлено через 2 минуты
http://zalil.ru/33133736 вот ещё тут лучше видно

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

Добавлено через 22 секунды
вирусов на компьютере нет точно

Добавлено через 32 секунды
второй день уже над этой задачей сижу.................................................

Добавлено через 1 минуту
проверьте ещё раз, если задача работает. Пойду тогда в институте на компьютере попробую набрать. Просто бегать туда сюда не в кайф. 2 часа времени потеряю. Сами понимаете...

Добавлено через 6 минут
Ура. У меня работает программа. Теперь надо разобраться где проверить задачу

Добавлено через 2 минуты
вот что мне показывает http://zalil.ru/33133776
куда дальше нажимать?
где писать код?

Добавлено через 25 минут
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2012, 11:23     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.04.2012, 11:23     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. #20
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.h>
 
char *removeSpc(char * str)
{
   for (int i = 0; str[i] != '\0'; i++)
   {
      if (str[i] == ' ')
      {
         for (int j = i; str[j] != '\0'; j++)
            str[j] = str[j+1];
         i--;
      }
   }
   return str;
}
 
int main(int argc, char* argv[])
{
   char s[255];
 
   cout << "Enter the string: ";
   cin.getline(s,255);
   cout << removeSpc(s) << endl;
 
   system("pause");
   return 0;
}
Yandex
Объявления
25.04.2012, 11:23     Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы.
Ответ Создать тему
Опции темы

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