Вы свою программу вообще запускали?
Строка
должна выдавать ошибку на этапе компиляции еще, потому что в заголовке цикла for должно быть 3 части, а у вас только 2. Пропущена часть, в которой изменяется i. Даже если вы хотите оставить эту часть пустой, а i менять в теле цикла, все равно должна стоять ;
C++ |
1
| for(float i=a; i<=b ; ) |
|
Но скорее всего, у вас оно должно иметь вид
C++ |
1
| for(float i=a; i<=b ; i+=step) |
|
где step - шаг изменения i
И по-моему, по задаче, у вас числа a и b должны быть целыми, i - целое. Тогда можно в качестве изменения i использовать конструкцию ++i. В цикле нужно проверять, что i является точным квадратом, т.е. из него извлекается корень, и только эти числа печатать, а не все