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

Почему процесс бесконечный, мож знает кто а то я щас дуба врежу?

Сокур Евгений Профи (958), на голосовании 2 месяца назад
#include <stdio.h>
#include <math.h>
#include <limits.h>

int main (void) {
int a = 0; double b = 0.1; int number;
scanf("%d", &number);
while (b <= number); {
++a;
b = pow(a, 2);
printf("%.0lf ", b);
}
return 0;
}

Программа для вывода квадратов числа для натурального ряда чисел вплоть до значения заданного пользователем числа number
Голосование за лучший ответ
Никита Кузьмицкий Знаток (311) 3 месяца назад
#include <stdio.h>
#include <math.h>
#include <limits.h>

int main(void) {
int a = 0;
double b = 0.0;
int number;

// Считываем число от пользователя
printf("Введите натуральное число: ");
scanf("%d", &number);

// Цикл для вывода квадратов
while (b <= number) {
++a;
b = pow(a, 2);
// Проверяем, чтобы квадрат не превышал заданное число
if (b <= number) {
printf("%.0lf ", b);
}
}
return 0;
}



Этот правильный
Никита КузьмицкийЗнаток (311) 3 месяца назад
Ты после условия while поставил точку с запятой
Сокур ЕвгенийПрофи (958) 3 месяца назад
Благодарю, добрая Душа! Теперь всё понял
Никита Кузьмицкий Знаток (311) Там ещё добавлено условие if (b <= number) для того, чтобы выводить только те квадраты, которые меньше или равны заданному числу number.
mweex swe Ученик (57) 3 месяца назад
Ты задал вопрос почему процесс бесконечный, если я правильно понимаю. Причина в том, что в цикле while условие для остановки бесконечного цикла не определено.

Постараюсь объяснить. Цикл while запускается, если условие верно и повторяет операцию до тех пор, пока условие будет верным. Здесь вы условие не определили, поэтому это и называется бесконечным циклом.
Сокур ЕвгенийПрофи (958) 3 месяца назад
Какой же ты умничка... Блин, побольше бы таких людей - и дело не в том что ты помог, а в том как красива твоя речь. Сейчас таких мало, дай Бог здоровья!
Похожие вопросы