Vaibhav Kunwar Ответов: 2

Как я могу получить результат работы программы, о которой я упоминал ниже.


Я не получаю результата.Помоги мне с кодом.Это программа для вывода общего числа единиц, присутствующих во всех числах, меньших или равных заданному целому числу.
например, если n=10
затем 1,2,3,4,5,6,7,8,9,10
выход равен 2 то есть всего один из них равен 2

Что я уже пробовал:

#include <iostream>
использование пространства имен std;
НУЗ инт(инт кол-во)
{int i,count=0;
для(i=1;i<=num;i++)
{while(i>0)
{if(i%10==1)
{считать++;
num=num/10;
}}}
обратный отсчет;}
тап_п()
{int x,c;
cout<<"введите no";
cin>>x;
c=nuz(x);
cout<<"нули есть"<<c;
возвращает 0;
}

2 Ответов

Рейтинг:
2

OriginalGriff

Часть задачи, которую вам поручил ваш наставник, включает в себя работу с кодом, и это часто самая длинная часть всей работы. Но это одна из самых важных вещей для изучения - без нее вы вообще мало чему научитесь. И это навык, и, как и все навыки, вы развиваете их только практикой.

Так что все будет зависеть от тебя.
Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!

И кстати: я собирался отредактировать ваш вопрос и добавить форматирование, чтобы сохранить отступ. Но вы вообще не сделали отступов, так что это просто Пита, чтобы прочитать и попытаться понять. Отступы в вашем коде, это делает его более легким для следования - и когда я вижу такие строки, как эта:

}}}
Я начинаю дрожать и действительно не хочу смотреть на это дальше! Я знаю, что вы только новичок, но изучите хорошие практики для начала - они сделают вашу работу намного проще!


Рейтинг:
2

Patrice T

Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию.

#include <iostream>
using namespace std;
int nuz(int num)
{
  int i,count=0;
  for(i=1;i<=num;i++)
  {
    while(i>0)
    {
      if(i%10==1)
      {
        count++;
        num=num/10;
      }
    }
  }
  return count;
}
int main()
{
  int x,c;
  cout<<"enter no";
  cin>>x;
  c=nuz(x);
  cout<<"zeroes are"<<c;
  return 0;
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]
-----
Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.