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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
#1

Найти количество чисел. - C++

09.10.2011, 11:02. Просмотров 1342. Ответов 18
Метки нет (Все метки)

Добрый день,
помогите пожалуйста составить программу:
Вводятся числа a и b. Найти количество таких чисел в диапазоне [a;b], которые являются точными квадратами.

У меня получилось, что-то вроде этого, ноооо опять же, меня терзают смутные сомнения
Спасибо!

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<conio.h>
using namespace std;
int main(){
float a,b;
cin >> a >> b;
for(float i=a; i<=b)
 
cout << i << endl;
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2011, 11:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество чисел. (C++):

Для чисел от -50 до 50 найти количество четных отрицательных и количество положительных нечетных чисел - C++
Ребят,всем привет! Помогите пожалуйста решить данную задачу.Ее нужно написать на я зыке C /C++,каждую из них с постусловием и...

Найти количество отрицательных чисел, количество нулевых и подсчитать сумму положительных чисел - C++
Т.к. я полный 0 в этом, вынужден обратиться к профи) надеюсь на вашу помощь. 1. Произвести следующую обработку 15 целых чисел: найти...

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

Найти количество положительных и количество отрицательных чисел в исходном наборе - C++
Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

Даны три целых числа. Найти количество положительных и количество отрицательных чисел - C++
Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе. Ввод чисел и вывод результата...

Найти количество двух- и количество трехразрядных чисел в последовательности - C++
Вводится последовательность из N целых чисел. Найти количество двух и количество трех разрядных чисел в последовательности (функцией...

18
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 11:27 #2
Вы свою программу вообще запускали?
Строка
C++
1
for(float i=a; i<=b)
должна выдавать ошибку на этапе компиляции еще, потому что в заголовке цикла 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 является точным квадратом, т.е. из него извлекается корень, и только эти числа печатать, а не все
1
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.10.2011, 11:29 #3
У вас бред какой-то написан.
У меня как-то так получилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cmath>
 
int main()
{
    int left, right, count = 0;
    std::cin >> left >> right;
    for (int i = sqrt(left) ; i * i <= right ; ++i)
        if ( i * i >= left )
            ++count;
    std::cout << count;
}
1
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
09.10.2011, 11:41  [ТС] #4
Цитата Сообщение от diagon Посмотреть сообщение
У вас бред какой-то написан.
У меня как-то так получилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cmath>
 
int main()
{
    int left, right, count = 0;
    std::cin >> left >> right;
    for (int i = sqrt(left) ; i * i <= right ; ++i)
        if ( i >= left )
            ++count;
    std::cout << count;
}
Я ещё только учусь, вот и бред пока получается
У меня почему-то выдаёт ошибку при компиляции, ругается на строку 8 error C2668: 'sqrt' : ambiguous call to overloaded function
????
0
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.10.2011, 11:57 #5
Попробуйте так
C++
1
sqrt(1. * left)
1
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
09.10.2011, 12:11  [ТС] #6
Цитата Сообщение от diagon Посмотреть сообщение
Попробуйте так
C++
1
sqrt(1. * left)
Вроде бы заработало, а какую команду написать типо
C++
1
getch ();
в таком виде должна быть другая команда?
0
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.10.2011, 12:12 #7
Цитата Сообщение от Mutlu Посмотреть сообщение
Вроде бы заработало, а какую команду написать типо
C++
1
getch ();
в таком виде должна быть другая команда?
Ничего не понял... Какая другая команда? Что вы вообще подразумеваете под командой?
0
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
09.10.2011, 12:14  [ТС] #8
Цитата Сообщение от diagon Посмотреть сообщение
Ничего не понял... Какая другая команда? Что вы вообще подразумеваете под командой?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
#include <stdio.h>
 
int main()
{
    int left, right, count = 0;
    std::cin >> left >> right;
    //for(int i=a; i<=b ; i++)
    for (int i=sqrt(1.*left);i*i<=right;++i)
        if (i>=left);
            ++count;
    std::cout << count;
    getch();
    
    
}
Он ругается, что getch не задекларирован, что не так там?
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 12:19 #9
для getch() нужна библиотека conio.h, а не stdio.h
И в строке
C++
1
if (i>=left);
не нужна ;
0
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
09.10.2011, 12:38  [ТС] #10
Цитата Сообщение от aeshes Посмотреть сообщение
для getch() нужна библиотека conio.h, а не stdio.h
ТОЧНО!!!!!
Спасибо!

Добавлено через 18 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
int main(){
    int left, right, count = 0;
    cin >> left >> right;
    for (int i=sqrt(1.*left);i*i<=right;++i)
            ++count;
    cout << count;
    getch();
}

Не те результаты он выдаёт, что-то он другое считает...
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 12:43 #11
Наверное, я плохо написала
Нужно было не всю строку
C++
1
if (i>=left);
удалить, а только ; из нее
Программа как раз считает число полных квадратов, например, на отрезке [2;17] ответ должен быть 3 (числа 4, 9, 16 - являются полными квадратами чисел 2,3,4 соответственно)
0
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
09.10.2011, 12:52  [ТС] #12
Цитата Сообщение от aeshes Посмотреть сообщение
Наверное, я плохо написала
Нужно было не всю строку
C++
1
if (i>=left);
удалить, а только ; из нее
Программа как раз считает число полных квадратов, например, на отрезке [2;17] ответ должен быть 3 (числа 4, 9, 16 - являются полными квадратами чисел 2,3,4 соответственно)
Под числа 2 и 17 подходит, 2 и 25 тоже работает, а если завожу от 0 до 9, по идее должно быть 2, но почему-то выдаёт 4?
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
09.10.2011, 13:16 #13
потому что подходят числа 0, 1, 4, 9 - полные квадраты 0,1,2,3
0
Mutlu
11 / 11 / 1
Регистрация: 26.09.2011
Сообщений: 185
10.10.2011, 12:00  [ТС] #14
Цитата Сообщение от aeshes Посмотреть сообщение
потому что подходят числа 0, 1, 4, 9 - полные квадраты 0,1,2,3
С числами 5 и 10 выдаёт почему-то 0?
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
10.10.2011, 15:21 #15
Попробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
#include <conio.h>
 
int main()
{
        int left, right, count = 0;
        std::cin >> left >> right;
        //for(int i=a; i<=b ; i++)
        for (int i=sqrt(1.*left);i*i<=right;++i)
                if (i*i>=left)
                        ++count;
        std::cout << count;
        getch();
        
        
}
0
10.10.2011, 15:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2011, 15:21
Привет! Вот еще темы с ответами:

Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе - C++
Помогите решить 4 задачи на C++.

Найти произведение всех положительных чисел массива, и количество отрицательных чисел - C++
Помогите, пожалуйста, с заданием по с++. Найти произведение всех положительных чисел массива {a i}, где i=1,2,...,13, и подсчитать...

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

Дан двумерный массив целых чисел, найти количество чисел, кратных N - C++
Дан двумерный массив целых чисел, найти количество чисел, кратных N. Как это можна записать в С++?? хотя бы условие...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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