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

Найти сумму элементов массива, являющихся точными квадратами

27.12.2020, 20:27. Показов 916. Ответов 6

Студворк — интернет-сервис помощи студентам
Найти сумму элементов массива, являющихся точными квадратами.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2020, 20:27
Ответы с готовыми решениями:

Найти сумму элементов массива, являющихся точными квадратами
Задание такое: Найти сумму элементов массива являющихся точными квадратами. Пожалуйста, помогите!!:-[

Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,. . . ) типа in
Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,. ....

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

6
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,685
27.12.2020, 20:57
не хватает исходных данных.
0
0 / 0 / 0
Регистрация: 22.11.2020
Сообщений: 8
27.12.2020, 22:58
Вроде по заданию

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;
 
bool isSquard(int *array, int i)
{
    int k = array[i];
    int left = floor(sqrt(k)), right = ceil(sqrt(k));
    if (sqrt(k) > left and sqrt(k) < right)
    {
        return false;
    }
    return true;
}
 
int main()
{
    int sum = 0, i = 0;
    int array[10] = { 0, 2, 6, 9 , 25 , 29, 49, 87, 144, 9};
    for (i; i < sizeof(array) / sizeof(int); i++)
    {
        if (isSquard(array, i) == true)
            sum += array[i];
    }
    cout << sum;
 
}
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
27.12.2020, 23:13
Цитата Сообщение от ROCKFALL Посмотреть сообщение
Вроде по заданию
Там были другие буквы.
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
bool isSquard(int num)
{
    double temp = static_cast<double> (num);
    temp = sqrt(temp);
    
    if(temp == static_cast<int> (temp)) return true;
    
    return false;
}
 
int main()
{
    int sum = 0;//, i = 0;
    const int n = 10;
    
    int array[n] = { 0, 2, 6, 9 , 25 , 29, 49, 87, 144, 9, };
    
    for (int i = 0; i < n /* уже есть 10, никуда не денется*/ ; i++)
    {
        if (isSquard(array[i]) == true)
            sum += array[i];
    }
    
    cout << endl << sum;
 
    return 0;
}
Но это тоже из костылей.
0
0 / 0 / 0
Регистрация: 22.11.2020
Сообщений: 8
27.12.2020, 23:52
Цитата Сообщение от Folian Посмотреть сообщение
Там были другие буквы.
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
bool isSquard(int num)
{
    double temp = static_cast<double> (num);
    temp = sqrt(temp);
    
    if(temp == static_cast<int> (temp)) return true;
    
    return false;
}
 
int main()
{
    int sum = 0;//, i = 0;
    const int n = 10;
    
    int array[n] = { 0, 2, 6, 9 , 25 , 29, 49, 87, 144, 9, };
    
    for (int i = 0; i < n /* уже есть 10, никуда не денется*/ ; i++)
    {
        if (isSquard(array[i]) == true)
            sum += array[i];
    }
    
    cout << endl << sum;
 
    return 0;
}
Но это тоже из костылей.
Я еще не дошел до перевода из одной переменной в другую(((
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
28.12.2020, 00:00
Цитата Сообщение от ROCKFALL Посмотреть сообщение
перевода из одной переменной в другую(((
Тут явное преобразование. При переводе float -> integer дробная часть отбрасывается.
Без static_cast оно выглядит примерно так: int = (int)float; - такое видел? Да и неявное будет аналогичным (если я ошибаюсь - поправьте), т.е. int = float;
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
28.12.2020, 02:28
Лучший ответ Сообщение было отмечено rakichkin как решение

Решение

лучше не применять sqrt при работе с целыми
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
bool isSquard(int n)
{
    for (int i = 1; i*i <= n; i++)
        if (i*i==n) return true;
    return false;
}
 
int main()
{
    srand((int)time(0));
    int n, k=0, sum=0;
    cout << "n="; cin >> n;
 
    int *a = new int[n];
 
    for (int i = 0; i < n; i++)
    {
        a[i]=rand()%9 + 1;
        if(isSquard(a[i])) {k=1;sum+=a[i];} 
        cout << a[i] << " ";
    }
    cout << "\n";
    
    if(k) cout << "sum=" << sum << "\n";
    else cout << "such numbers are absent\n";
    
    delete[]a;
system("pause");
return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2020, 02:28
Помогаю со студенческими работами здесь

Найти все элементы данного массива, которые являются точными квадратами и посчитать их произведение
Дано линейный массив действительных чисел. Найти все элементы данного массива, которые являются точными квадратами и посчитать их...

Из двух массивов сформировать общий массив и вычислить сумму элементов, являющихся полными квадратами
Из двух массивов разной длины сформировать общий массив и вычислить сумму элементов, являющихся полными квадратами и имеющих четные индексы.

Найти сумму положительных элементов массива до максимального и заменить отрицательные элементы квадратами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)сумму положительных элементов массива, расположенных до...

Найти все трехзначные парные числа, которые являются точными квадратами
Помогите пожалуйста 1. Найти все трехзначные чётные числа, которые есть точными квадратами. 2. Протабулировать функцию f(x,y) , якщо x...

Функция с переменным числом параметров определяющая количество чисел, являющихся точными квадратами
Написать функцию с переменным числом параметров, которая определяет количество чисел, яв-ляющихся точными квадратами (2, 4, 9, 16,. . . )...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru