Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не выводит в консоли ответа

Cr1stal Мастер (1447), на голосовании 2 недели назад
Прогеры,спасайте,в общем программа должна вычислить кол-во цифр у натурального числа n меньше либо равного 100.В консоли после ввода n ничего не происходит.Где накосячил?


#include <iostream>
using namespace std;

void main() {
int n, k;
k = 1;
cin >> n;
if (n <= 0 || n > 100) {
cout << "Invalid variable value";
}
else {
while (n > 0)
if ((n / 10) != (0)) {
k += 1;
n = n / 10;
}
else {
k = k;
}
cout << "Number of digits " << k;
}
}
Голосование за лучший ответ
ֆհαδoᵂ☄ᴷίʆʆer Знаток (305) 1 месяц назад
Привет, мне кажется у тебя нету скобки до и после цикла while попробуй добавить фигурные скобки. Надеюсь все получится. посмотрел, тебе нужно сделать также чтобы цикл не был бесконечным. А то у тебя будет бесконечно выводится Number of digits потому что ты просто не сможешь выйти из цикла
Cr1stalМастер (1447) 1 месяц назад
Привет,добавил,но ничего не произошло
ֆհαδoᵂ☄ᴷίʆʆerЗнаток (305) 1 месяц назад
#include <iostream>
using namespace std;

void main() {
int n, k;
k = 1;
cin >> n;
if (n <= 0 || n > 100) {
cout << "Invalid variable value";
}
else {
while (n > 0)
{
if ((n / 10) != (0)) {
k += 1;
n = n / 10;
}
else {
k = k;
}
cout << "Number of digits " << k;
}
}
}

У меня все получилось т.е бесконечно выводится Number of digits попробуй скопировать мой код
Cr1stalМастер (1447) 1 месяц назад
Ну у меня тоже бесконечно он выводится теперь,а как сделать чтобы один раз вывело и всё?
ֆհαδoᵂ☄ᴷίʆʆerЗнаток (305) 1 месяц назад
тогда тебе нужно сделать так чтобы цикл while не был бесконечным либо убрать его вообще, пример - убрать std::cout из цикла while вот что получится

#include <iostream>
using namespace std;

void main() {
int n, k;
k = 1;
cin >> n;
if (n <= 0 || n > 100) {
cout << "Invalid variable value";
}
else {
cout << "Number of digits " << k;

while (n > 0)
{
if ((n / 10) != (0)) {
k += 1;
n = n / 10;
}
else {
k = k;
}

}
}
}
ֆհαδoᵂ☄ᴷίʆʆerЗнаток (305) 1 месяц назад
напиши само задание что бы я понимал какая цель у тебя
Cr1stal Мастер (1447) DIMA S, Дано натуральное число n (n<=100). Определить сколько цифр в числе n, чему равна сумма его цифр.
ֆհαδoᵂ☄ᴷίʆʆerЗнаток (305) 1 месяц назад
понял, сейчас подумаю и напишу что получилось
Cr1stalМастер (1447) 1 месяц назад
всё,я сделал
Cr1stalМастер (1447) 1 месяц назад
Cr1stalМастер (1447) 1 месяц назад
я просто облегчил немножко цикл,условие изменив
ֆհαδoᵂ☄ᴷίʆʆerЗнаток (305) 1 месяц назад
#include <iostream>

int main() {
setlocale(LC_ALL, "RU");

int n;
std::cout << "Введите натуральное число: ";
std::cin >> n;

if (n <= 0 || n > 100) { // Проверяем, что число n находится в указанном диапазоне
std::cout << "Число не должно превышать 100 и должно быть натуральным" << std::endl;
return 1;
}

int count = 0;
int sum = 0;

int temp = n;
while (temp > 0) {
int digit = temp % 10;
count++;
sum += digit;
temp /= 10;
}

std::cout << "Кол-во цифр n: " << count << std::endl;
std::cout << "Сумма его цифр: " << sum << std::endl;

return 0;
}
у меня получилось немного посложнее
Cr1stalМастер (1447) 1 месяц назад
спасибо большое
ֆհαδoᵂ☄ᴷίʆʆerЗнаток (305) 1 месяц назад
можешь задавать вопросы по моему коду если какая то строчка будет интересна
Cr1stal Мастер (1447) DIMA S, хорошо
Похожие вопросы