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

Определить функцию, позволяющую распознавать полные квадраты

02.03.2018, 21:40. Показов 5438. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны натуральное число n и целые числа a1, a2, ..., an. Найти количество
чисел ai ( i 1, 2, ..., n), являющихся полными квадратами. (Определить
функцию, позволяющую распознавать полные квадраты.)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2018, 21:40
Ответы с готовыми решениями:

Определить процедуру, позволяющую распознавать полные квадраты
Дано натуральное число n. Среди чисел 1,2,...,n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел....

Дано натуральное число n. Выяснить, является ли оно полным квадратом.Определить функ-цию, позволяющую распознавать полные квадраты
Вот пока что сделал, дальше домозговать не могу. #include "stdafx.h" #include "math.h" #include <iostream> using namespace...

Функция, позволяющая распознавать полные квадраты
Пожалуйста, помогите решить задачу на С++. Даны натуральное число n и целые числа a1, a2, a3, …, an. Найти количество чисел a, (i =...

7
2 / 2 / 0
Регистрация: 17.07.2017
Сообщений: 12
02.03.2018, 22:37
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int Num(double Check)
{
    int Raz = 0;
    Raz = sqrt(Check); //У Raz тип int и при присваивании она получит значение корня без чисел после запятой
    if ((sqrt(Check) - Raz) == 0) return 1;//Если разность равна нулю то число целое
    else return 0;
}
 
int main()
{
    int k = 0; //счётчик
    
    cout << "n = ";
    int n = 0;
    cin >> n;
    
    double a[n];
    for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (Num(a[i]) == 1) k++;
    }
        cout << endl;
    cout << "          " << k;
    return 0;
}
Устроит?

Добавлено через 12 минут
Только нужна проверка на максимально вводимое количество элементов массива. Это уже на твоё усмотрение, сколько компьютер потянет.
0
 Аватар для Avaddon74
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
02.03.2018, 23:30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
 
using namespace std;
 
bool fullQuad(int num) {
    if(num && pow(sqrt(num),2) == num) return true;
    return false;
}
 
int main(){
    int n, num, count(0);
    cin >> n;
    while (n) {
        cin >> num;
        if (fullQuad(num)) count++;
        n--;
    }
    cout << count << endl;
    return 0;
}
Добавлено через 5 минут
Цитата Сообщение от Strumeg Посмотреть сообщение
C++
1
int n = 0; cin >> n; double a[n];
Так делать нельзя!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
03.03.2018, 01:42
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int F(int x)
{   
    if (sqrt(x) - (int)sqrt(x) == 0) return 1;
    return 0;
}
 
int main()
{
    int n, a, count=0;    
    cout << "Enter n: "; cin >> n;    
    
    for (int i = 1; i <=n; i++)
    {
    cout <<"a"<<i<<"="; cin >> a;    
    if (F(a) == 1) count++;
    }        
    cout <<"count="<<count;
system("pause");
return 0;
}
0
 Аватар для Avaddon74
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
03.03.2018, 09:25
Strumeg, Yetty, У вас у обоих на ноль вернет полный квадрат, а это не есть истина
1
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
03.03.2018, 09:48
Avaddon74, вот что выдало



1
 Аватар для Avaddon74
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
03.03.2018, 09:56
мановар, Скорей всего проблема из-за не точного сравнивания типов double, надо подумать...

Добавлено через 4 минуты
Всё понял ошибку
нужно так if (num && pow((int)sqrt(num), 2) == num) return true;
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.03.2018, 03:21
Цитата Сообщение от Avaddon74 Посмотреть сообщение
Strumeg, Yetty, У вас у обоих на ноль вернет полный квадрат, а это не есть истина
Avaddon74, спасибо
99965, нужно дополнение в строке 8 моего кода:
C++
1
 if (x!=0 && (sqrt(x) - (int)sqrt(x) == 0)) return 1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2018, 03:21
Помогаю со студенческими работами здесь

Определить функцию позволяющую распознавать степени пятерки
Помогите пожалуйста с задачкой, так как пока что только учусь C++. Звучит так: Дано натуральное число n и целые числа a1, a2, ..., an....

Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении
Даны три квадратных уравнения ах^2 + bх + с = 0, bх^2 + ах + с = 0, сх^2 + ах + b = 0. Сколько из них имеют вещественные корни?...

Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении
Даны три квадратных уравнения ax^2+bx+с, bx^2+ax+с, cx^2+ax+b. Сколько из них имеют вещественные корни. (определить функцию, позволяющую...

Найти числа, которые возможно представить в виде суммы квадратов, и определить функцию, распознающую полные квадраты
Дано натуральное число n. Среди чисел 1,2, ..., n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел....

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru