Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
1

Вычислить сумму квадратов тех чисел, модуль которых больше значения 2.5

11.02.2018, 20:15. Просмотров 898. Ответов 14
Метки нет (Все метки)


Вычислить сумму квадратов тех чисел, модуль которых больше значения 2.5
Размер массива 10
Ввиде одномерного массива в функциях
Если можно с комментариями
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2018, 20:15
Ответы с готовыми решениями:

Массив: Вычислить сумму квадратов тех чисел, модуль которых превышает значение 2.5
Есть задачка: Вычислить сумму квадратов тех чисел, модуль которых превышает значение 2.5 Все...

Вычислить сумму тех элементов последовательности, значения которых больше нуля, но меньше единицы
Вычислить сумму и количество тех элементов данной конечной числовой последовательности, значения...

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

Дан одномерный массив, длину массива задаёт пользователь. Вычислить сумму кубов тех чисел, модуль которых превышает знач
Дан одномерный массив, длину массива задаёт пользователь. Вычислить сумму кубов тех чисел, модуль...

14
1742 / 1335 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
12.02.2018, 11:48 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <time.h>
 
#define n 10
#define x 2.5
 
int main(void)
{
    srand(time(NULL));
    int a[n], sum = 0;
 
    for (int i = 0; i < n; i++) {
        a[i] = rand() % 20 - 10;
        printf("%i ", a[i]);
        if (abs(a[i]) > x)
            sum += a[i] * a[i];
    }
 
    printf("\nSum = %i", sum);
    getch();
    return 0;
}
Добавлено через 27 секунд
Цитата Сообщение от gordon8899 Посмотреть сообщение
Ввиде одномерного массива в функциях
не совсем понял, что это значит
0
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
12.02.2018, 15:50  [ТС] 3
Ну сделать программу через функцию
0
1742 / 1335 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
12.02.2018, 15:57 4
Ну вот так тогда можно
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 "stdafx.h"
#include <time.h>
 
#define n 10
#define x 2.5
 
int Sum(int a[n]) {
    int s = 0;
    for (int i = 0; i < n; i++)
        if (abs(a[i]) > x)
            s += a[i] * a[i];
    return s;
}
 
int main(void)
{
    srand(time(NULL));
    int a[n], sum = 0;
 
    for (int i = 0; i < n; i++) {
        a[i] = rand() % 20 - 10;
        printf("%i ", a[i]);
    }
 
    printf("\nSum = %i", Sum(a));
    getch();
    return 0;
}
0
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
12.02.2018, 16:07  [ТС] 5
А если тип Float мне нужен тогда просто поменять вместо int?
0
1429 / 852 / 554
Регистрация: 25.04.2016
Сообщений: 2,327
12.02.2018, 16:10 6
Во-первых, число 2.5 как бы намекает на числа с точкой, во-вторых, скорее всего необходимо написать свою функцию abs, которая будет работать с типом double, в-третьих массив тут не нужен. Если собрать все вместе, получаем что-то вроде этого:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
double abst(double n) { return (n<0)?-n:n; }
 
int main (void)
{
    int i, max = 10;
        double n, sum = 0.0;
 
    for (i=0; i<max; i++)
    {
        printf("a[%d] = ", i+1);    // пишем что-то на экран
        scanf("%lf", &n);        // получаем что-то с клавиатуры
 
        if (abst(n) > 2.5) sum += (n*n);    // что-то считаем
    }
 
    printf("sum = %lf\n", sum);    // снова что-то пишем на экран
    return 0;    // конец программы
}
0
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
12.02.2018, 16:11  [ТС] 7
мне нужен масив так как задание такое))
0
1429 / 852 / 554
Регистрация: 25.04.2016
Сообщений: 2,327
12.02.2018, 16:14 8
Цитата Сообщение от gordon8899 Посмотреть сообщение
мне нужен масив
Нет, тебе массив не нужен, он нужен идиоту, который дал такое задание.
0
1742 / 1335 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
12.02.2018, 16:29 9
Цитата Сообщение от gordon8899 Посмотреть сообщение
А если тип Float мне нужен тогда просто поменять вместо int?
Нет. Нужно изменить рандом и, как уже сказал stake-k26, делать свой ABS
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 "stdafx.h"
#include <time.h>
#include <stdlib.h>
#define n 10
#define x 2.5
 
float FABS(float a) { return a > 0 ? a : -a; }
 
float Sum(float a[n]) {
    float s = 0.0;
    for (int i = 0; i < n; i++)
        if (FABS(a[i]) > x)
            s += a[i] * a[i];
    return s;
}
 
int main(void)
{
    srand(time(NULL));
    float a[n];
    for (int i = 0; i < n; i++) {
        a[i] = (float)rand() / (float)RAND_MAX * 20 - 10;
        printf("%f ", a[i]);
    }
    printf("\nSum = %f", Sum(a));
    getch();
    return 0;
}
0
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
12.02.2018, 17:04  [ТС] 10
Если вам не сложно напишите пожалуйста с масивом,мне нужно с ним так как мне поставили такое задание,иначе эту программу не принимают

Добавлено через 2 минуты
Hitoku, у вас программа написана в Visual Studio,а я сам работаю в code block и не знаю что менять
0
Hitoku
12.02.2018, 17:12
  #11

Не по теме:

Цитата Сообщение от gordon8899 Посмотреть сообщение
я сам работаю в code block
Интересно, как я мог это понять, прочитав Ваш первый пост...

0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10908 / 6833 / 1625
Регистрация: 25.07.2009
Сообщений: 12,540
12.02.2018, 19:09 12
Цитата Сообщение от Hitoku Посмотреть сообщение
делать свой ABS
man fabs
1
1429 / 852 / 554
Регистрация: 25.04.2016
Сообщений: 2,327
12.02.2018, 20:51 13
easybudda, тогда теряется смысл в условии разбиения программы на функции, ее просто не за чем разбивать.
0
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
12.02.2018, 21:31  [ТС] 14
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
#include<stdio.h>
#include<math.h>
const N=10;
float rom(float A[N])
{
float sum=0;
int i;
for(i=0;i<N;i++)
{
if(fabs(A[i])>2.5)
sum+= A[i]*A[i];
}
return sum;
}
int main()
{
float A[N];
int i;
printf("vveditd masuv A\n");
for(i=0;i<N;i++)
{
printf("vvedit A[%d]>",i);
scanf("%f",&A[i]);
}
printf("\nrom=%f",rom(A));
return 0;
}
Когда ввожу только1 у меня нули
0
1429 / 852 / 554
Регистрация: 25.04.2016
Сообщений: 2,327
12.02.2018, 23:14 15
gordon8899, что значит "Когда ввожу только1"? Можно поподробнее, что вы вводите и что происходит?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2018, 23:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Вычислить сумму тех элементов последовательности, номера которых на единицу больше чем значения элемента последовательности
Дана последовательность из n вещественных чисел. Вычислить сумму тех элементов последовательности,...

Вычислить обратные значения тех из тех чисел, значения которых не равны нулю
Даны три числа x y z.Вычислить обратные значения тех из них, значения которых не равны нулю ,...

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

Найти сумму тех членов ряда, модуль которых больше или равен е
Даны числовой ряд и некоторое число е. Найти сумму тех членов ряда, модуль которых больше или равен...


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

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

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