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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Miracle
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 16
#1

Вычислить сумму элементов массива, расположенных до последнего положительного элемента - C++

26.06.2014, 17:03. Просмотров 610. Ответов 6
Метки нет (Все метки)

В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) максимальный элемент массива;
2) сумму элементов массива, расположенных до последнего положительного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.

Первые 2 работают, не получается с преобразованием(

Вот код
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
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
 
void main()
{
int n;
double mas[100];
printf("\nVvedite kolichestvo elementov v massive:");
scanf("%d",&n);
int j;
int i;
printf("\nIshodnyi massiv:\n");
for (i=0; i < n; i++)
{
mas[i]=4-random(7);
printf("\nmas[%d]=%3.1f", i+1, mas[i]);
}
double max=mas[0];
for (i=0; i < n; i++)
{
if (mas[i]>max)
max=mas[i];
}
printf("\nMaximal'noe %3.1f\n", max);
int t=0;
double sum=0;
 
for (i =(n-1); i >= 0; i--)
{
if (i+1<n)
if (mas[i+1]>0)
t++;
if (t>=1)
sum=sum+mas[i];
}
printf("\n summa %f\n", sum);
printf ("\nPreobrazovannye  massiva :\n");
for (j = 0; j <n; j++)
printf ("mas[%d]=%3.1f",j+3,mas[j]);
 
getch();
return;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 17:03     Вычислить сумму элементов массива, расположенных до последнего положительного элемента
Посмотрите здесь:

Найти сумму элементов массива, расположенных до последнего положительного элемента C++
Найти сумму элементов массива, расположенных до последнего положительного элемента C++
Вычислить сумму элементов, расположенных до последнего положительного элемента C++
C++ Вычислить сумму элементов, расположенных до последнего положительного элемента
Найти сумму и количество нечетных элементов массива, расположенных до последнего положительного элемента. Ошибки в коде С++ C++
Массив: Вычислить сумму элементов массива расположенных до последнего положительного элемента. C++
C++ Матрица динамическая. 1. максимальный элемент массива; 2. сумму элементов массива, расположенных до последнего положительного элемента
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
26.06.2014, 18:41     Вычислить сумму элементов массива, расположенных до последнего положительного элемента #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int j = 0;
    double buf;
    for (int i = 0; i < n; i++)
    {
        if (abs(mas[i]) <= 1)
        {
            j=i;
            while (abs(mas[j-1])>1 && j>0)
            {
                buf = mas[j];
                mas[j] = mas[j-1];
                mas[j-1] = buf;
                j--;
            }
        }
    }
Miracle
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 16
26.06.2014, 22:29  [ТС]     Вычислить сумму элементов массива, расположенных до последнего положительного элемента #3
Ругается(
Скорее всего не правильно вставляю

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
printf ("\nPreobrazovannye  massiva :\n");
for (j = 0; j <n; j++)
int j = 0;
    double buf;
    for (int i = 0; i < n; i++)
    {
        if (abs(mas[i]) <= 1) // здесь выдаёт break
        {
            j=i;
            while (abs(mas[j-1])>1 && j>0)
            {
                buf = mas[j];
                mas[j] = mas[j-1];
                mas[j-1] = buf;
                j--;
            }
        }
    }
getch();
return;
}
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
26.06.2014, 22:36     Вычислить сумму элементов массива, расположенных до последнего положительного элемента #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
 
void main()
{
int n;
double mas[100];
printf("\nVvedite kolichestvo elementov v massive:");
scanf("%d",&n);
int j;
int i;
printf("\nIshodnyi massiv:\n");
for (i=0; i < n; i++)
{
mas[i]=4-random(7);
printf("\nmas[%d]=%3.1f", i+1, mas[i]);
}
double max=mas[0];
for (i=0; i < n; i++)
{
if (mas[i]>max)
max=mas[i];
}
printf("\nMaximal'noe %3.1f\n", max);
int t=0;
double sum=0;
 
for (i =(n-1); i >= 0; i--)
{
if (i+1<n)
if (mas[i+1]>0)
t++;
if (t>=1)
sum=sum+mas[i];
}
printf("\n summa %f\n", sum);
printf ("\nPreobrazovannye  massiva :\n");
 
    double buf;
    for (int i = 0; i < n; i++)
    {
        if (abs(mas[i]) <= 1)
        {
            j=i;
            while (abs(mas[j-1])>1 && j>0)
            {
                buf = mas[j];
                mas[j] = mas[j-1];
                mas[j-1] = buf;
                j--;
            }
        }
    }
    for (j = 0; j <n; j++)
printf ("mas[%d]=%3.1f",j+3,mas[j]);
 
getch();
return;
}
ValeryS
Модератор
6485 / 4951 / 455
Регистрация: 14.02.2011
Сообщений: 16,400
26.06.2014, 22:40     Вычислить сумму элементов массива, расположенных до последнего положительного элемента #5
Цитата Сообщение от BatonPro Посмотреть сообщение
if (abs(mas[i]) <= 1)
для плавающих
C++
1
fabs
Miracle
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 16
27.06.2014, 10:26  [ТС]     Вычислить сумму элементов массива, расположенных до последнего положительного элемента #6
Всё равно выдаёт break

на
if (abs(mas[i]) <= 1)

Добавлено через 10 часов 36 минут
При значениях 4 и 6
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2014, 10:35     Вычислить сумму элементов массива, расположенных до последнего положительного элемента
Еще ссылки по теме:

C++ Вычислить сумму элементов массива, расположенных до последнего положительного элемента
Вычислить сумму элементов массива, расположенных после последнего отрицательного элемента C++
C++ Найти сумму элементов одномерного массива расположенных до последнего положительного элемента
Найти сумму элементов массива, расположенных до последнего положительного элемента C++
Найти сумму элементов массива, расположенных до последнего положительного элемента C++

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

Или воспользуйтесь поиском по форуму:
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
27.06.2014, 10:35     Вычислить сумму элементов массива, расположенных до последнего положительного элемента #7
C++
1
if (fabs(mas[i]) <= 1)
Yandex
Объявления
27.06.2014, 10:35     Вычислить сумму элементов массива, расположенных до последнего положительного элемента
Ответ Создать тему
Опции темы

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