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

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

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

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

26.06.2014, 17:03. Просмотров 680. Ответов 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;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 17:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить сумму элементов массива, расположенных до последнего положительного элемента (C++):

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

Массив: Вычислить сумму элементов массива, расположенных до последнего положительного элемента. - C++
Разработать алгоритм и программу по обработке элементов одномерного или двумерного динамического массива Размерность массива...

Массив: Вычислить сумму элементов массива расположенных до последнего положительного элемента. - C++
В одномерном массиве состоящем из n вещественных элементов вычислить: 1) максимальный элемент массива(это сделано) 2) сумму элементов...

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

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

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

6
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--;
            }
        }
    }
0
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;
}
0
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;
}
0
ValeryS
Модератор
6679 / 5088 / 476
Регистрация: 14.02.2011
Сообщений: 17,086
26.06.2014, 22:40 #5
Цитата Сообщение от BatonPro Посмотреть сообщение
if (abs(mas[i]) <= 1)
для плавающих
C++
1
fabs
0
Miracle
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 16
27.06.2014, 10:26  [ТС] #6
Всё равно выдаёт break

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

Добавлено через 10 часов 36 минут
При значениях 4 и 6
0
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
27.06.2014, 10:35 #7
C++
1
if (fabs(mas[i]) <= 1)
0
27.06.2014, 10:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2014, 10:35
Привет! Вот еще темы с ответами:

Вычислить сумму элементов, расположенных до последнего положительного элемента - C++
всем привет может кто подсказать почему в ответе всё время 0 не могу понять #include &lt;iostream&gt; #include &lt;iomanip&gt; using...

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

Найти сумму элементов массива, расположенных до последнего положительного элемента - C++
2) сумму элементов массива, расположенных до последнего положительного элемента. #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace...

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


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

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

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