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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение массива из файла http://www.cyberforum.ru/cpp-beginners/thread688972.html
Нужно сделать так, что бы массив читался из файла #include <iostream> #include <cstring> #include <ctime> #include <cstdlib> class TGoods
C++ Release Доброго времени суток всем! Есть такая проблема, создал свой первый калькулятор, проект windows forms(мое первое знакомство с формами:)) и решил сделать экзешник, в debug версии все хорошо, работает как на моем компе, так и на других, потом поставил release и тут началось самое интересное, он начал требовать msvcrt90.dll, я нашел его в папке WinSxS и положил рядом с экзешником, тут потребовалось... http://www.cyberforum.ru/cpp-beginners/thread688970.html
C++ Определить, есть ли повторяющиеся слова в тексте
Помогите составить цикл на языке С: определить есть ли повторяющиеся слова в тексте; выдать на печать те слова, перед которыми в последовательности находятся только меньшие по алфавиту слова, а за ними только большие; удалить из слова все повторные вхождения заданной буквы.
C++ Динамическое программирование
Подскажите что не так в решении. #include <iostream> #include <stdio.h> using namespace std; const int N = 5001; int min(int a, int b) {
C++ Составьте программу, которая вычисляет значения n-го слагаемого Q и суммы n слагаемых последовательности S (спасите) http://www.cyberforum.ru/cpp-beginners/thread688941.html
Задание на лабораторную работу: Для заданного преподавателем варианта задания составьте программу, которая вычисляет значения n-го слагаемого Q и суммы n слагаемых последовательности S. Входные данные: n – переменная целочисленного типа ( 0 < n < 10000 ), параметры последовательности a, x – переменные вещественного типа. Все входные данные вводятся с клавиатуры. Выходные данные: Q, S –...
C++ Выделение числовой константы из строки char * find-const ( ) , 1)помещает в буфер строки digit литеру буфера buf_lit, 2)из входного потока читает литеру за литерой,пока не встретит не цифру или конец файла; 3)усли счетная-цифра,то она помещается в очередную позицию буфера строки.Если это не цифра,то строка дополняется символом "\0 а литера остается в буфере buf-lit. Если буфер исчерпан,а на входе цифра,то чтение продолжается,пока... подробнее

Показать сообщение отдельно
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
05.11.2012, 12:46     Удаление слова после запятой из строки, упростить программу
Я написал программу для удаления одного слова после запятой, но она получилась очень громистка! Как ее можно записать проще, но чтобы так же работала?
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
49
50
51
#include <conio.h>
#include <string.h>
#include <iostream.h>
using namespace std;
 void deletes(char *str, int pos);
int main(){
    char str[200] = {};
    cin.get(str,200);
for (int i = 0; i < strlen(str); i++)
 {  if ((str[i]==' ') && (str[i+1]==' '))
    deletes(str,i+1);
}
    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] = ' ';
                              }
                      }
    }
for (int i = 0; i < strlen(str); i++)
 {  if ((str[i]==' ') && (str[i+1]==' '))
    deletes(str,i+1);
}
 cout << str;
getch();
return 0;
}
 
 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;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru