0 / 0 / 1
Регистрация: 18.10.2021
Сообщений: 67
1

Не работает функция abs()

18.10.2021, 17:07. Показов 2147. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание такое:
1)Найти максимальный по модулю элемент массива
2)Найти сумму элементов массива, находящихся между первым положительным элементом и вторым

Начал выполнять первое и зашел в тупик. Функция abs не работает. Был бы интересно узнать почему.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<math.h>
int main(){
    int size;
    int maximum=0;
    scanf("%d",&size);
    int array[size];
        // заполняем массив
    for(int i=0;i<size;i++){
        scanf("%d",&array[i]);
    }
    //  макс по модулю элемент массива
    for(int i=0;i<size;i++){
        int mod=abs(array[i]);
        if(mod>maximum){
            maximum=array[i];
        }
    }
    printf("maximum=%d\t",maximum);
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2021, 17:07
Ответы с готовыми решениями:

Функция ABS и EXP
нужно прописать функции абс и эксп таким образом function sqr() { return x*x; } var...

Функция abs вернула не ожидаемый результат
Всем здравствуйте. Запутался с арифметикой: FormMain-&gt;Label1-&gt;Caption = FormatFloat( &quot;0.00&quot;,...

Даны натуральное число n, действительные числа а1,…,аn.вычислить abs(a1)+…+abs(an)
даны натуральное число n, действительные числа а1,…,аn.вычислить abs(a1)+…+abs(an) (a1 и an по...

Функция abs и как обойтись без нее
Нужна помощь. При написании кода столкнулся с некой проблемой, что при использовании функции abs...

не работает программа написанная в Pascal ABS
Я написал эту программу в Pascal ABS, теперь запускаю её в Turbo Pascal а выполняются только два...

4
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
18.10.2021, 17:13 2
Anton9900, попробуй fabs
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
18.10.2021, 17:50 3
Лучший ответ Сообщение было отмечено Anton9900 как решение

Решение

Цитата Сообщение от Anton9900;[CLANG]15780619
scanf("%d",&size);
    int array[size];[/CLANG]
В языке си, такое можно только после стандарта C99, если компилятор поддерживает vla. Поэтому для задания размера массива, старайтесь использовать динамическое выделение памяти.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
 
int main()
{
    int size, maximum=0;
    scanf("%d", &size);
    int *array = malloc(sizeof(int) * size);
 
    for(int i=0, mod; i<size; i++)
    {
        scanf("%d",&array[i]);
        mod=abs(array[i]);
        if(mod>abs(array[maximum]))
            maximum=i;
    }
    printf("maximum=%d\t",array[maximum]);
    free(array);
    return 0;
}
1
2456 / 1061 / 481
Регистрация: 17.11.2018
Сообщений: 2,740
18.10.2021, 18:36 4
C
1
if(mod>abs(maximum))
0
Вездепух
Эксперт CЭксперт С++
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
18.10.2021, 19:05 5
Цитата Сообщение от Anton9900 Посмотреть сообщение
Функция abs не работает.
* Что такое "функция abs не работает"?

* Функция abs объявлена в <stdlib.h>. Где у вас включение <stdlib.h>?

* Зачем вы включили в этот код <math.h>?
2
18.10.2021, 19:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2021, 19:05
Помогаю со студенческими работами здесь

Нарисовать на плоскости (x,y) область, в которой и только в которой истинно логическое выражение abs(x)>abs(y)
Народ, нарисовать на плоскости (x,y) область, в которой и только в которой истинно логическое...

Нет перегруженной подпрограммы с такими типами параметров f:=(FUNC)-abs(FUNC) перед abs
Program lb4n5; Var x,b,y:real; Function FUNC(x,b:real):real; Begin ...

std::abs vs global abs
Откуда растут ноги такого поведения, что std::abs возвращает double, а глобальная ::abs() - int ?...

Ошибка Ambiguity between std::abs(int) and abs(int)
Есть вот такой пример из учебника #include &lt;conio.h&gt; #include &lt;iostream.h&gt; int abs(int x); //...

Функция корректно работает в Delphi 7 и не неверно работает в RAD Studio 10
Переписываю свою программу с Delphi 7 под RAD Studio 10. Столкнулся с проблемой - функция в...

не работает поток thread (функция работает без потока!) и 1 оффтоп
Доброго времени суток. Как то я запиливал thread функцию, с учетом того что у меня будет массив...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru