Форум программистов, компьютерный форум CyberForum.ru

Массивы - C++

Восстановить пароль Регистрация
 
Елена ))
 Аватар для Елена ))
-2 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 67
03.06.2011, 23:00     Массивы #1
Помогите,пожалуйста найти ошибку...
В одномерном массиве, состоящем из 10 целых элементов, вычислить сумму модулей элементов массива, расположенных после минимального по модулю элемента.

Добавлено через 47 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
 
void main(void) {
int a[100];
int n,i,s,min;
n=10;
    for (i=0; i<n; i++){
    a[i]= rand()%100-20;
    printf("%d ",a[i]);}
s=0;
for (i=1; i<n; i++) {
    min=(fabs(a[1]));
    if (fabs(a[i])<fabs(min)) {
        min=a[i];
    s=fabs(a)+s;}
}
printf("\n summa: %d ", s);
getch();
}
Добавлено через 1 минуту
Не работает по чему то...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2011, 23:00     Массивы
Посмотрите здесь:

массивы C++
C++ массивы
массивы C++
Массивы в С++ C++
Массивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
03.06.2011, 23:07     Массивы #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const int SIZE = 10;
int MAS[SIZE];
int i;
 
for (i = 0; i < SIZE; i++) {
    MAS[i] = rand () % 100 - 20;
    printf ("%d ", MAS[i]);
}
 
int min = fabs (MAS[0]), idx = 0;
for (i = 1; i < SIZE; i++)  
    if (fabs (MAS[i]) < min) {
        min = fabs (MAS[i]);
        idx = i;
    }
    
int sum = 0;
for (i = idx + 1; i < SIZE; i++)
    sum += fabs (MAS[i]);
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
03.06.2011, 23:17     Массивы #3
Найти сначала минимальный, а затем сумму за ним, наверное и понятнее и правильнее, но исходный вариант тоже можно довести до работоспособного:
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 <stdlib.h>
#include <conio.h>
#include <math.h>
 
void main(void) {
    int a[100];
    int n,i,s,min;
    n = 10;
    srand(time(NULL));
    for (i=0; i<n; i++) {
        a[i]= rand()%100-20;
        printf("%d ",a[i]);
    }
    s = 0;
    min = fabs(a[0]);
    for (i=1; i<n; i++) {
        if (fabs(a[i])<min) {
            s = 0;
            min = fabs(a[i]);
        }
        else
            s += fabs(a[i]);
    }
    printf("\n summa: %d\n", s);
    getch();
}
Елена ))
 Аватар для Елена ))
-2 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 67
03.06.2011, 23:25  [ТС]     Массивы #4
У меня выбивает ошибку
Ошибка 2 error C2668: fabs: неоднозначный вызов перегруженной функции
Не понимаю,что С++ от меня хочет
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
03.06.2011, 23:28     Массивы #5
Вообще, раз уж переменные объявлены как int, то непонятно зачем fabs, а не abs
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
03.06.2011, 23:28     Массивы #6
Код в первом посте написан на Си. Вы чего от нас хотите?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2011, 23:36     Массивы
Еще ссылки по теме:

Массивы C++ C++
массивы в С++ C++
C++ Массивы

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

Или воспользуйтесь поиском по форуму:
Елена ))
 Аватар для Елена ))
-2 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 67
03.06.2011, 23:36  [ТС]     Массивы #7
Спасибо всем огромное работает
Yandex
Объявления
03.06.2011, 23:36     Массивы
Ответ Создать тему
Опции темы

Текущее время: 00:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru