Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 10.08.2013
Сообщений: 73

Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции

23.03.2014, 01:45. Показов 1580. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, программа для вычисления квадратного корня. Не компилируется из за вызова функции вычисления кв корня. Ругается на аргументы.
-expected primary-expression before 'float' это если в аргументе указывать float a;
-'a' was not declared in this scope это если не указывать float;
- no matching function for call to 'koren::sroot()' эту если вообще без аргументов.
Пожалуйста подскажите как исправить ошибку и что это вообще за ошибки? Как их избежать в будущем?

Ругается на строку 29.

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
#include <cstdlib>
#include <iostream>
#include <cmath>
 
using namespace std;
class koren {
    float a , rez;
    public:
        void in();
        void out();
        float sroot(float a);
};
void koren::in(){
    cout << "Введите число: ";
    cin >> a;
}
float koren::sroot(float a) {
            rez = sqrt(a);
            return rez;
}
void koren::out(){
    cout <<"Квадратный корень из"<< a << " равен" << rez << ".\n";
}
int main(){
setlocale( LC_ALL,"Russian" );
koren s1;
 
s1.in();
s1.sroot(float a);
s1.out();
system("pause");
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2014, 01:45
Ответы с готовыми решениями:

Прототип и тело функции. Алгоритм вычисления квадратного корня
В книге написано: &quot;Если в программе используется функция sqrt, ну это я к примеру, значит для нее должен быть предоставлен прототип. Это...

Придумать алгоритм вычисления квадратного корня, не использую функции возведения в степень
Необходимо придумать алгоритм, вычисления квадратного корня, не использую функции возведения в степень и соответственно саму функцию...

Написать программу для вычисления квадратного корня
как написать программу для вычисления квадратного корня в Visual Basic в excel

7
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
23.03.2014, 01:46
Цитата Сообщение от snzh Посмотреть сообщение
Ругается на строку 29
В 29-й строке вместо "float a" нужно просто писать "a"
0
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104
23.03.2014, 01:47
ну так у вас ф-ция main не знает переменной a.
Вы должны присвоить а некое значение, чтоб его передать функции. sroot(a). флоат там не нужен(я про 29 строку).
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
23.03.2014, 01:47
Правда у тебя в функции main переменная "a" нигде не определена
0
2 / 2 / 0
Регистрация: 10.08.2013
Сообщений: 73
23.03.2014, 03:33  [ТС]
Evg, Yamko, я её определил сейчас в функции main(в строке 4), но тогда результат у всех чисел одинаковый получается: 1,29896e+019.
Что я сделал не так? Извините за глупые вопросы. Помощи искать негде пока что кроме форума.

C++
1
2
3
4
5
6
7
8
9
10
int main(){
setlocale( LC_ALL,"Russian" );
koren s1;
float a;
s1.in();
s1.sroot(a);
s1.out();
system("pause");
return 0;
}
0
17 / 17 / 5
Регистрация: 09.03.2013
Сообщений: 65
23.03.2014, 04:16
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
#include <cstdlib>
#include <iostream>
#include <cmath>
 
using namespace std;
 
class koren {
    float a , rez;
    public:
    void in();
    void out();
    float sroot();
};
void koren::in() {
    cout << "Введите число: ";
    cin >> a;
}
float koren::sroot() {
    rez = sqrt(a);
    return rez;
}
void koren::out() {
    cout <<"Квадратный корень из "<< a << " равен " << rez << ".\n";
}
int main() {
    setlocale( LC_ALL,"Russian" );
    koren s1;
 
    s1.in();
    s1.sroot();
    s1.out();
    system("pause");
    return 0;
}
0
2 / 2 / 0
Регистрация: 10.08.2013
Сообщений: 73
27.03.2014, 00:19  [ТС]
, Evg, подскажите пожалуйста еще одну маленьку вещь. Мне по заданию нужно еще пергрузить эту функцию, которая вычисляет квадратный корень. В книге написано, что нужно её просто переназначить как бы. Просто написать еще одно возможное действие для неё. Я не понимаю этого немного, мне ошибка при компиляции говорит, что ф-ция не может быть перегружена. Подскажите, что сделал не так. И на что смотреть, что бы такого больше небыло.
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
#include <cstdlib>
#include <iostream>
#include <cmath>
 
using namespace std;
 
class koren {
    float a , rez;
    public:
        void in();
        void out();
        float sroot();
        double sroot();
};
void koren::in(){
    cout << "Ââåäèòå ïåðåìåííóþ: ";
    cin >> a;
}
float koren::sroot() {
            rez = sqrt(a);
            return rez;
}
double koren::sroot() {
            rez = sqrt(a);
            return rez;
}
 
void koren::out(){
    cout <<"Êâàäðàòíûé êîðåíü èç "<< a << " ðàâåí " << rez << ".\n";
}
int main(){
setlocale( LC_ALL,"Russian" );
koren s1;
 
s1.in();
s1.sroot();
s1.out();
system("pause");
return 0;
}
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
27.03.2014, 00:36
Цитата Сообщение от snzh Посмотреть сообщение
float a;
Цитата Сообщение от snzh Посмотреть сообщение
float sroot(float a);
Цитата Сообщение от snzh Посмотреть сообщение
float a , rez;
ты другие имена знаешь? и сам запутался и компилятр запутал
;
Цитата Сообщение от snzh Посмотреть сообщение
C++
1
2
3
4
float koren::sroot(float a) {
            rez = sqrt(a);
            return rez;
}
вот здесь a это что?
аргумент функции или член класса?

Добавлено через 3 минуты
Цитата Сообщение от snzh Посмотреть сообщение
Просто написать еще одно возможное действие для неё. Я не понимаю этого немного, мне ошибка при компиляции говорит, что ф-ция не может быть перегружена.
для того чтобы перегрузить функцию нужны другие аргументы или их количество
например
C++
1
2
3
4
sroot(float a);
sroot(double a);
sroot(int a);
sroot();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2014, 00:36
Помогаю со студенческими работами здесь

Рекурсивная функция для вычисления корня квадратного
Вычислить с точностью до 6 знаков, сравнив по числу шагов, рекурсивную формулу {q}_{n+1}=\frac{1}{2}\left({q}_{n}+\frac{14}{q}_{n}...

Реализуйте рекурсивный алгоритм для вычисления квадратного корня числа
Вот задание: Реализуйте рекурсивный алгоритм для вычисления квадратного корня числа. в качестве исходных данных используйте тройку чисел...

Написать функцию, использующую метод Ньютона для вычисления квадратного корня
Написать функцию, использующую метод Ньютона для вычисления квадратного корня. Метод Ньютона вычисления квадратного корня из числа x...

С++ Функция приближённого вычисления квадратного корня
Написать функцию приближённого вычисления квадратного корня по формуле {x}_{n}=x/2+a/2*x, {x}_{1}=1, x \rightarrow \sqrt{a}. Вот...

Функция приближенного вычисления квадратного корня
Помогите решить задачу: Написать функцию приближённого вычисления квадратного корня по формуле xn =xn -1/2+a/2xn -1, x1 =1, x1 --&gt;...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru