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

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

Войти
Регистрация
Восстановить пароль
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
#1

Удалить элементы после запятой (дополнить код) - C++

03.11.2012, 23:21. Просмотров 380. Ответов 4
Метки нет (Все метки)

Добрый вечер всем! У меня такая проблема: нужно написать программу для удаления слова (одного слова) после запятой, программа удаляет слова но только если эти слова находятся вплотную к кому, а когда Вот так aaa, aaaa то не удаляет, как это исправить?

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 <conio.h>
#include <string.h>
 
using namespace std;
 
int main(){
    char str[200] = {};
    cin.get(str,200);
    int size = strlen(str);
    for(int i = 0; i < size; i++){
            if(str[i] == ','){
                      for(int j = i+1; j < size; j++){
                              if(str[j] == ' '){
                                        break;
                                        }
                                        str[j] = ' ';
                              }
                      }
            cout << str[i];
    }
getch();
return 0;
}
Добавлено через 53 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
int main(){
    char str[200] ;
    cin.get(str,200);
    int size = strlen(str);
    for(int i = 0; i < size; i++){
            if(str[i] != '0' && str[i] != ' '){ 
                      cout<<str[i]; break;           
    }
}
getch();
return 0;
}
Добавлено через 19 минут
Я немножко усовершенствовал, но все равно эта проблема осталась!)
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
44
45
46
47
48
#include <string.h>
#include <conio.h>
#include <iostream.h>
 
 
void deletes(char *s, int pos);
 
int main()
{
char s[150];
int i;
gets(s);
 
 
int size = strlen(s);
    for(int i = 0; i < size; i++){
            if(s[i] == ','){
                      for(int j = i+1; j < size; j++){
                              if(s[j] == ' '){
                                        break;
                                        }
                                        s[j] = ' ';
                              }
                      }
            
    }
 
 
for (i = 0; i < strlen(s); i++)
 {  if ((s[i]==' ') && (s[i+1]==' '))
    deletes(s,i+1);
}
 cout <<s;
 getch();
}
 
 
void deletes(char *s, int pos)
{ int i;
if ((s[pos]== ' ') && (s[pos+1]== ' '))
{ deletes(s,pos+1); }
for (i = pos; i < strlen(s)-1; i++)
 {
  s[i]=s[i+1];
}
s[i]=0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 23:21     Удалить элементы после запятой (дополнить код)
Посмотрите здесь:

Удалить из текста все слова, которые расположены после запятой - C++
Нужно написать программу, которая удаляет из текста все слова, которые расположены после ком. Я здесь несколько прикинул, но не понимаю...

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

Удалить элементы из строки (исправить код) - C++
Я написал программу для удаления текста после первой запятой, а мне НЕОБХОДИМО чтобы удалялось только первое слово, например: aaa, bbb...

Дополнить код - C++
Добрый день, есть вот такой вот код, который позволяет ввод информации о маршрутном такси (номер, стоимость, вид транспорта), где стоимость...

Удалить все элементы файла, расположенные после первого символа пробела - C++
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные после первого символа пробела,...

Найти максимальный элемент массива, и удалить после него все нечетные элементы - C++
В массиве A(n) определить максимальный элемент .удалить после максимального все нечетные элементы

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
03.11.2012, 23:22     Удалить элементы после запятой (дополнить код) #2
Я же писал тебе код рабочий.
P.S. i+2 поставь во вложенном цикле
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
03.11.2012, 23:25  [ТС]     Удалить элементы после запятой (дополнить код) #3
Цитата Сообщение от JlightenDev_C++ Посмотреть сообщение
P.S. i+2 поставь во вложенном цикле
поставил, но теперь одну букву оставляет когда так ааааа,ппппп то работает плохо!
JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
03.11.2012, 23:31     Удалить элементы после запятой (дополнить код) #4
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
#include <iostream>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
int main(){
    char str[200] = {};
    cin.get(str,200);
    int size = strlen(str);
    for(int i = 0; i < size; i++){
            if(str[i] == ','){
                      for(int j = i+2; j < size; j++){
                              if(str[j] == ' '){
                                        break;
                                        }
                                        str[j] = ' ';
                              }
                      }
            if(str[i] == ',' && str[i]-1 != ' '){
                      for(int j = i+1; j < size; j++){
                              if(str[j] == ' '){
                                        break;
                                        }
                                        str[j] = ' ';
                              }
                      }
            cout << str[i];
    }
getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 23:38     Удалить элементы после запятой (дополнить код)
Еще ссылки по теме:

Удалить элементы кратные 7. Добавить после каждого элемента массива элемент со значенем 0. - C++
// Кузя 2.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; ...

нужно дополнить - исправить код - C++
Понимаю, что задач вроде не сложная, но никак не получается переделать код. Я решил задачу , которую выкладывал ниже, про кол-во...

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

Вставка нового элемента в массив (дополнить код) - C++
Здравствуйте, нужна помощь. Суть такова имеется Куча, и туда нужно Вставить новый элемент, код имеется но не такой как надо :( Сделал, и...


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

Или воспользуйтесь поиском по форуму:
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
03.11.2012, 23:38  [ТС]     Удалить элементы после запятой (дополнить код) #5
Теперь работает, но как поставить 3,4,5 ... пробелов оно дальше хорошо работать небеде! А мне нужна универсальная программа!)
Yandex
Объявления
03.11.2012, 23:38     Удалить элементы после запятой (дополнить код)
Ответ Создать тему
Опции темы

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