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

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

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

В произвольной строке удалить двойные пробелы и определить длину новой строки - C++

11.12.2011, 12:49. Просмотров 516. Ответов 1
Метки нет (Все метки)

Условие:
Написать программу, которая бы в произвольной строке (не более 80 символов) удаляла двойные пробелы и определяла длину новой строки.

Код:

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
#include <stdio.h>   /*стандартный заголовочный файл ввод/вывода*/
#include <conio.h>   /*консольный ввод-вывод, используемый в старых компиляторах*/
#include <string.h>   /*заголовочный файл содержащий функции для работы с нуль-термированными строками и различными функциями работы с памятью*/
main() 
{
  /*int-целый тип*/
 int i,j;
  /*char-символьный тип*/
 char *st;   /*При описании строки как указателя, в отличие от описания строки как символьного массива, не надо заботиться о том, чтобы длина введенного текста не превышала длину строки. Потому что происходит следующее: вводится строка с клавиатуры и как только нажимается клавиша ENTER, что является признаком окончания ввода, к введенной последовательности символов автоматически добавляется нулевой байт и вся эта конструкция записывается по адресу строки*/
 clrscr();   /*функция очистки экрана в С*/
printf("vvod stroki \n");  /**/
 gets(st);   /*функция обеспечивающая ввод строки*/
 
 for(i=0;i<=strlen(st);i++)   /*для каждого i пока i меньше длины строки st прибавлять по 1*/
 
if((st[i]==' ') && (st[i+1]==' ') ) /*это проверка на два идущих пробела*/
  {
    for(j=i;j<=strlen(st);j++)  
   
 st[j]=st[j+2]; 
   
 i=i-2; 
    }
printf("\n"); /*переход на новую строку*/
 puts(st);   /*функция обеспечивающая вывод строки*/
 printf("dlina = %d",strlen(st));   /*печать длины строки*/
getch();
}
что выполняет в данном случае этот цикл
C++
1
2
3
4
5
6
7
{
for(j=i;j<=strlen(st);j++) 
 
st[j]=st[j+2]; 
 
i=i-2; 
}
заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2011, 12:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В произвольной строке удалить двойные пробелы и определить длину новой строки (C++):

Удалить двойные пробелы и определить длину новой строки - C++
Условие: Написать программу, которая бы в произвольной строке (не более 80 символов) удаляла двойные пробелы и определяла длину новой...

Определить длину строки,удалить из строки все символы, которые равны заданному - C++
Доброго времени суток уважаемые форумчане. Помогите пожалуйста с написанием кода для данной задачи в вижуале. Если будет возможно,то с...

Строка: удалить лишние пробелы и определить слово с минимальным кол-вом согласных в строке - C++
мое задание : удалить лишние пробелы и определить слово с минимальным кол-вом согласных в строке.... вот моя задача... я удалил лишние...

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

Определить длину введенной строки, и, если длина больше заданной, то удалить символы от a до z - C++
Здравствуйте можете пожалуйста помочь с задачей на строки. Очень прошу. Определить длину введенной строки, и, если длина больше 15, то...

Определить длину и позицию слова, которое имеет наименьшую длину в строке - C++
Определить длину и позицию слова, которое имеет наименьшую длину в строке. Строки Пожалуйста помогите!

1
Lawlietb32
14 / 14 / 2
Регистрация: 31.03.2011
Сообщений: 118
11.12.2011, 13:08 #2
смешение строки на два символа влево... а i-2 используется для смещение позиции (вдруг там следом снова два пробела идут)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2011, 13:08
Привет! Вот еще темы с ответами:

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

Удалить лишние пробелы в строке - C++
Добрый день. Прошу написать простую программу по заданию: В строке, введённой с клавиатуры, удалить все лишние пробелы. На форуме...

Удалить все пробелы в строке - C++
можно ли как то с помощью метода string.replace удалить все пробелы в строке? вот так не работает :( string str(&quot;this is test string&quot;); ...

Удалить лишние пробелы в строке - C++
Дано строку. Удалить лишние пробелы.


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

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

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