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

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

Войти
Регистрация
Восстановить пароль
 
NeRRouZ
4 / 4 / 0
Регистрация: 19.12.2010
Сообщений: 54
#1

Подскажите что не так? - C++

13.04.2011, 17:32. Просмотров 372. Ответов 4
Метки нет (Все метки)

Нужно заменить цифры в числе на ноль, если цифра равна "a". А затем вывести получившееся число.
число N - натуральное, а - является цифрой (от 0 до 9).
например N = 12223 a = 2
должно получится 10003

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
#include <iostream>
using namespace std;
 
int main()
{
    int n;
    int a;
    int i;
    int m = 0;
    int r;
    int k=0;
    int b[10];
    
    cout << "N= "; cin>>n;
    cout<< "a= ";cin>>a;
    
    while (n > 0)
    {
          r = n % 10;
          if (r == a) r = 0;
          b[k] = r;
          k++;
          n/=10;
    }
    for (i = k; i>=0; i--)
    cout << b[i];
    system ("pause");
 return 0;   
}
перед правильным числом, выводит какой-то "мусор", как от него избавится???
Миниатюры
Подскажите что не так?  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2011, 17:32     Подскажите что не так?
Посмотрите здесь:

Подскажите что не так ? - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;math.h&gt; using namespace std; int main() { double x,y,n; ...

Подскажите, что не так? - C++
//bow.h using namespace std; class Bow { string color; bool drawn; int arrows;

Подскажите что не так? - C++
Класс #include &lt;string&gt; #include &lt;fstream&gt; #include &lt;math.h&gt; #include &quot;dot.h&quot; Dot::Dot() { x=0; y=0; ...

Подскажите пожалуйста, что не так - C++
Задание из книги. Вроде бы все делаю правильно, но в итоге программа не правильно считает. На скрине условие и сама формула, по которой...

подскажите что не так с программой - C++
Скажите пожалуйста, почему программа не работает. Написала же вроде все как нужно и ошибок также нет. Очень нужно, срочно....

Наследование, подскажите что не так - C++
Решил разобраться с наследованием, настрочил простенький такой код .. работать не хочет Подскажите что не так #include &quot;stdafx.h&quot;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.04.2011, 17:52     Подскажите что не так? #2
Цитата Сообщение от NeRRouZ Посмотреть сообщение
for (i = k; i>=0; i--)
заменить на:
C++
1
for (i = k-1; i>=0; i--)
NeRRouZ
4 / 4 / 0
Регистрация: 19.12.2010
Сообщений: 54
13.04.2011, 18:00  [ТС]     Подскажите что не так? #3
Пасиба,
я тута еще сделал через <vector> стало норм выводить)))
IrineK
Заблокирован
13.04.2011, 18:55     Подскажите что не так? #4
Вариация на тему:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
 
int main()
{   string N;
    int a, i;
    cout<<"N = ";
    cin>>N;
    cout<<"a = ";
    cin>>a;
    
    for(i=0;i<N.length();i++)
        if(N[i]-'0'== a) N[i]='0';
 
    cout<<"No= "<<N<<"\n";
 
    cin.sync(); cin.get();
    return 0;
}
Миниатюры
Подскажите что не так?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2011, 19:08     Подскажите что не так?
Еще ссылки по теме:

подскажите что не так делаю? - C++
кароче пишу модуль простейший //module #include&lt;stdio.h&gt; #include&lt;conio.h&gt; int i; int function(int a) {

Подскажите, что я делаю не так - C++
Вот задача: Написать программу, по длинам сторон распознающую среди всех треугольников АВС прямоугольные. Если таковых нету, то вычислить...

Подскажите,что тут не так? - C++
# include &lt;iosDream.h&gt; int main { int counter != 0 ; loop; counter ++ ; cout&lt;&lt; &quot;counter :&quot; &lt;&lt;counter&lt;&lt;&quot; n &quot; if...

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


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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
13.04.2011, 19:08     Подскажите что не так? #5
Еще вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <boost/lexical_cast.hpp>
#include <algorithm>
#include <string>
 
int main(){
  int num, a;
  std::cin >> num >> a;
  std::string s_num = boost::lexical_cast<std::string>(num);
  std::replace(s_num.begin(), s_num.end(), boost::lexical_cast<char>(a), '0');
  std::cout << s_num;
  return 0;
}
Yandex
Объявления
13.04.2011, 19:08     Подскажите что не так?
Ответ Создать тему
Опции темы

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