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

sqrt в c++ - C++

Восстановить пароль Регистрация
 
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 220
23.10.2013, 23:28     sqrt в c++ #1
Подскажите - в чем проблема? Почему sqrt считает за ошибку? (17 строка)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
#include<cmath>
 
using namespace std;
 
int main()
{
    int a,b;
    cout<<"Enter minimal number"<<endl;
    cin>>a;
    cout<<"Enter maximal number"<<endl;
    cin>>b;
 
        int d=0;
        for (int i=a; i <= b; i++) {
            int c= sqrt(i);
            if (c %= 0) {
                d=d+1;
            }
        }
                cout<<"Amount of numbers is: "<<d<<endl;
 
 
 
    system("PAUSE");
    return 0;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Бендерродригез
Сгибальщик
 Аватар для Бендерродригез
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
23.10.2013, 23:29     sqrt в c++ #2
Цитата Сообщение от Blueeyer Посмотреть сообщение
if (c %= 0) {
Делёж на ноль.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
23.10.2013, 23:29     sqrt в c++ #3
C++
1
int c = sqrt( (float)i );
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 220
23.10.2013, 23:33  [ТС]     sqrt в c++ #4
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Делёж на ноль.
этим я пытался показать, что при вычислении квадратного корня если нет остатка, то выполняется следующее

Добавлено через 20 секунд
Цитата Сообщение от castaway Посмотреть сообщение
C++
1
int c = sqrt( (float)i );
добавил, но теперь почему-то программа зависает
SergeY26RuS
 Аватар для SergeY26RuS
1 / 1 / 0
Регистрация: 10.10.2013
Сообщений: 10
23.10.2013, 23:34     sqrt в c++ #5
Проблема в том, что функция sqrt() принимает только вещественные типы данных, т.е float, double и т.п
Могу прислать решение, если нужно
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 220
23.10.2013, 23:40  [ТС]     sqrt в c++ #6
Цитата Сообщение от SergeY26RuS Посмотреть сообщение
Проблема в том, что функция sqrt() принимает только вещественные типы данных, т.е float, double и т.п
Могу прислать решение, если нужно
Вот как звучит задача:
Вводятся числа a и b. Найти количество таких чисел в диапазоне [a;b], которые являются точными квадратами.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2013, 14:04     sqrt в c++
Еще ссылки по теме:

Рекурсия S=sqrt(1+sqrt(2+sqrt(3+.+sqrt(n) C++
Дано натуральное число n. Вычислить sqrt(2+ sqrt(5 + sqrt(7...)) C++
C++ Вычислить y=sqrt(1+sqrt(4+sqrt(9+.+sqrt(36+sqrt(49)

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

Или воспользуйтесь поиском по форуму:
SergeY26RuS
 Аватар для SergeY26RuS
1 / 1 / 0
Регистрация: 10.10.2013
Сообщений: 10
24.10.2013, 14:04     sqrt в c++ #7
Ну вот держи, только щас удивел.
Скажешь тебе это надо или нет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//Вводятся числа a и b. Найти количество таких чисел в диапазоне [a;b], которые являются точными квадратами
#include <iostream>
#include <vector>
#include <cmath>
 
void main()
{
    setlocale(LC_ALL, "Russian");
    int a,b;
 
    std::cout << "Введите а ";
    std::cin >> a;
 
    std::cout << "Введите b ";
    std::cin >> b;
    
    std::vector <int> m;
    
    // заполнение массива от а до b
    for (int i = a; i <= b; i++)
        m.push_back(i);
    
    // вывод массива на консоль
    for (int i = 0; i < m.size(); i++)
        std::cout << m[i] << " ";
    std::cout << std::endl;
    int k = 0;
    for (int i = 0; i < m.size(); i++)
    {
        float q = sqrt ((float) m[i]);
        //std::cout << q << " "; проверял для себя
        if ( q == floor (q))    
        k += 1;
    }
    std::cout << std::endl;
    std::cout << "Количество точных квадратов в массиве от а до b = " << k;
 
    std::cout << std::endl;
    system("pause");
}
работал в Microsoft Visual 2010
Yandex
Объявления
24.10.2013, 14:04     sqrt в c++
Ответ Создать тему
Опции темы

Текущее время: 02:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru