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

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

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

Удаление всех элементов после запятой - C++

02.11.2012, 21:16. Просмотров 611. Ответов 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
#include <iostream>
#include <conio.h>
#include <string.h>
int n=10;
using namespace std;
int main(){
    char str[n];
    int i=0;
    for( i=0;i<n;i++)
    {
    cin>>str[i];
    }
    for(i=0;i<n;i++){ 
                       
                       if(str[i]==',')
                       for(int j=i;j<n;j++)
                       str[j]='\0';
                       }
for( i=0;i<n;i++)
    {
    cout<<str[i];
    }
getch();
return 0;
}
Удаление всех элементов после запятой
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 21:16     Удаление всех элементов после запятой
Посмотрите здесь:

Удаление всех пробелов до запятой - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; using namespace std; int _tmain(int argc, _TCHAR* argv) { const int...

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

В строке имеется одна точка с запятой (;). Подсчитать количество символов до точки с запятой и после нее. - C++
В строке имеется одна точка с запятой ( ; ). Подсчитать количество символов до точки с запятой и после нее.

Удаление всех элементов вектора - C++
Как удалить все элементы вектора. Например Создаём пустой вектор vector&lt;int&gt;numb; заполняем его пятью элементами ...

Удаление всех минимальных элементов из массива - C++
Прошу, помогите исправить функцию. :scratch: Есть задача: удалить из массива все элементы, равные минимальному элементу массива. (Описать...

Удаление всех элементов из динамической очереди - C++
Покажите пожалуйста пример удаления.

Удаление всех четных элементов из массива (программа не работает) - C++
Доброго времени суток, не работает такая вот конструкция для &quot;удаления&quot; нечетных элементов из массива, почему? В паскале помнится такое...

Удаление четных элементов массива,больших среднего арифметического всех элементов массива - C++
Доброго времени суток! Помогите пожалуйста) Вот задание:Из массива удалить четные элементы, имеющие значение больше среднего...

Удаление из массива всех элементов, встречающихся ровно два раза - C++
Дан целочисленный массив размера N. Удалить из массива все эле-менты, встречающиеся ровно два раза, и вывести размер полученного мас-сива и...

Удаление дерева (помещение всех его элементов в список свободного пространства) - C++
Удаление дерева, т.е. помещение всех его элементов в список свободного пространства....нужна помошь

Почему после 51-го знака после запятой выводятся одни нули? - C++
В продолжение темы: тот же код, только с увеличенным количеством знаков после запятой: #include &lt;iostream&gt; #include &lt;windows.h&gt;...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
02.11.2012, 21:21     Удаление всех элементов после запятой #2
Ничего особенного, обратите внимание на порядок выполнения цикла. Если встречается запятая, то достаточно этот символ приравнять к нулю и выйти из цикла, вместо этого вы вначале обнуляете все символы от запятой до конца строки и затем, что очень важно, вы не выходите из цикла и продолжаете выводить все символы, включая нуль символы. Но это моя догадка, точно не уверен
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
02.11.2012, 21:41     Удаление всех элементов после запятой #3
не проще сделать
cout<<str;
должен вывести все символы до первого '\0'
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
02.11.2012, 21:43  [ТС]     Удаление всех элементов после запятой #4
MrGrig, спасибо!
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
02.11.2012, 21:43     Удаление всех элементов после запятой #5
Цитата Сообщение от vasiliy21 Посмотреть сообщение
C++
1
2
3
4
int n=10;
using namespace std;
int main(){
    char str[n]
cтранно что компилятор это проглатил, если делать таким образом то нада
const int n=10;
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
07.11.2012, 14:40     Удаление всех элементов после запятой #6
MrGrig, среда Dev-Cpp. следовательно с большой долей вероятности, что компилятор mingw, т.е. порт gcc под винду. А в gcc даже в плюсовом компиляторе нестандартное (для С++, стандартное для С99, С11) расширение - variable length arrays - массивы переменной длины. Объявляются именно так, т.е. имеют в качестве размера не константу.
Yandex
Объявления
07.11.2012, 14:40     Удаление всех элементов после запятой
Ответ Создать тему
Опции темы

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