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

Сумма элементов массива, расположенных между первым и последним элементом

16.11.2012, 08:15. Показов 2510. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include <stdio.h>
#include "locale.h"
using namespace std;
 
 
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
cout<<"                огибалов дмитрий инбс-11 ";
cout<<"\n В одномерном массиве, состоящем из n вещественных элементов, вычислить:\n";
cout<<"\n1.)минимальный элемент массива\n";
cout<<"\n2.)сумму элементов массива, расположенных между первым и последним положительными элементами.\n";
cout<<"\nПреобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом – все остальные.\n ";
 
cout<<"\nВведите размер массива ->\n ";
    
    int min, i, n, sum=0, arr[100]; // arr - массив целых чисел, максимальный размер 100 элементов
     cin >> n;
    
         
 
    for (i = 0; i < n; i++) // ввод массива
      {
          cout<<"Введите элемент # "<<i+1<<endl;
 
      cin >> arr[i];
    }
 
//эхо-контроль
//вывод массива в строчке, элементы через пробелы
 
    min = arr[0];
 
    for (i = 0; i < n; i++)
        if (arr[i] < min)
            min = arr[i];
 
 
 
    for (i = 1; i <n-1; ++i)
        sum += arr[i];
 
    cout << "минимальный элемент массива:" << min << endl; // вывод минимального значения
    cout << "Сумма элементов массива, расположенных между первым и последним элементом(не включая их)" << sum << endl;
    cout << "\nсначала нулевые элементы:\n";
    for (i = 0; i < n; i++)
        if (arr[i]==0) cout <<" "<<arr[i];
    for (i = 0; i < n; i++)
        if (arr[i]!=0) cout <<" "<<arr[i];
    _getch();
    return 0;
}
Добавлено через 52 секунды
сама то сумма есть а у меня задание между первым и последним элементом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 08:15
Ответы с готовыми решениями:

Сумма элементов массива, расположенных между первым и последним положительным элементом
Вычислить сумму элементов массива, расположенных между первым и последним положительными...

Сумма элементов между первым положительным элементом массива и последним отрицательным
В одномерном целочисленном массиве( элементы массива генерируются случайным образом диапазоне от...

Сумма элементов массива, расположенных между первым и последним отрицательными элементами
Помогите найти ошибку #include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main()...

Сумма элементов массива, расположенных между первым и последним нулевыми элементами
В одномерном массиве, состоящем из n целых элементов, вычислить: сумму элементов массива,...

12
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
16.11.2012, 09:02 2
С суммой то у Вас как раз всё в порядке.
А вот с нулевыми элементами нет.
Нужно преобразовать массив, а не просто вывести сначала нулевые, а потом ненулевые.
Если поядок расположения остальных элементов не важен, то можно так:
for (int i = 0; i < n; i++)
for (int j=i; j<n; j++)
if (arr[j]==0) swap (arr[i],arr[j]);//swap - обмен значениями
//вывод массива
for (int i = 0; i < n; i++)
cout <<" "<<arr[i];

а если порядок важен, то... надо подумать, как обойтись без дополнительного массива...
0
4829 / 2632 / 908
Регистрация: 29.11.2010
Сообщений: 5,689
16.11.2012, 09:04 3
Цитата Сообщение от flatra Посмотреть сообщение
сама то сумма есть а у меня задание между первым и последним элементом
Шутите? В коде даже русским языком прокомментировано:
Цитата Сообщение от flatra Посмотреть сообщение
for (i = 1; i <n-1; ++i)
sum += arr[i];
cout << "Сумма элементов массива, расположенных между первым и последним элементом(не включая их)" << sum << endl;
0
0 / 0 / 1
Регистрация: 03.11.2012
Сообщений: 386
16.11.2012, 09:25  [ТС] 4
а первый и последний элемент
0
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
16.11.2012, 09:28 5
Цитата Сообщение от flatra Посмотреть сообщение
а первый и последний элемент
А первый и последний элемент не должны суммироваться. Они и не суммируются
0
0 / 0 / 1
Регистрация: 03.11.2012
Сообщений: 386
16.11.2012, 09:29  [ТС] 6
почему
0
4829 / 2632 / 908
Регистрация: 29.11.2010
Сообщений: 5,689
16.11.2012, 13:16 7
Цитата Сообщение от flatra Посмотреть сообщение
почему
Очевидно, по заданию.

Цитата Сообщение от flatra Посмотреть сообщение
сама то сумма есть а у меня задание между первым и последним элементом
Приведенный вами в первом посте код считает сумму между первым и последним элементом не включая их.
0
0 / 0 / 1
Регистрация: 03.11.2012
Сообщений: 386
16.11.2012, 17:23  [ТС] 8
только вот вопрос какие именно первый и последний элементы
0
4829 / 2632 / 908
Регистрация: 29.11.2010
Сообщений: 5,689
16.11.2012, 18:14 9
Цитата Сообщение от flatra Посмотреть сообщение
только вот вопрос какие именно первый и последний элементы

Не по теме:

Are you kidding me? :facepalm:



Рассмотрим, в качестве примера, набор из четырех элементов -- 0, 1, 2, 3.
Допустим, эти элементы нумеруются (иногда говорят "индексируются") по порядку, начиная с нуля.

На первом месте с номером (индексом) 0 стоит элемент со значением 0.
На втором месте с номером (индексом) 1 стоит элемент со значением 1.
На третьем месте номером (индексом) 2 стоит элемент со значением 2.
На четвертом и последнем (индексом) месте под номером 3 стоит элемент со значением 3.

Первым элементом называют элемент с минимальным индексом. В рассматриваемом случае это элемент с индексом 0 и значением 0.
Последним элементом называют элемент последовательности с максимальным индексом. В рассматриваемом случае это элемент с индексом 3 и значением 3.

Таким образом, легко понять, что в приведенном в первом посте коде первым элементом последовательности является arr[0].

С последним элементом несколько сложнее.
Как мы видели ранее, набор из четырех элементов нумеруется от нуля до трех. Несложно убедиться, что набор из пяти элементов будет нумероваться от нуля до четырех, набор из шести элементов -- от нуля до пяти и так далее.

Последний (см. выше) элемент всегда будет иметь индекс, равный общему количеству элементов минус один. В приведенном в первом посте коде общее количество элементов последовательности обозначено за n. Таким образом, последним элементом последовательности является arr[n - 1].

Я надеюсь, что вы имеете в виду что-то другое, но не можете правильно сформулировать вопрос. Попробуйте общаться развернутыми предложениями, так же может помочь изложение задачи в том же виде, в котором она поставлена перед вами.
0
0 / 0 / 1
Регистрация: 03.11.2012
Сообщений: 386
16.11.2012, 20:22  [ТС] 10
тут есть еще слова между положительными элементами
0
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
16.11.2012, 20:37 11
Цитата Сообщение от flatra Посмотреть сообщение
тут есть еще слова между положительными элементами
Это в корне меняет задачу !!!

Добавлено через 12 минут
C++
1
2
3
4
5
6
7
8
9
10
int i1,i2;
 for (i1=0; i1<n; i1++)
     if (arr[i1]>0) break; // определяем индекс i1 первого положительного элемента
 for (i2=n; i2>0; i2--)
     if (arr[i2]>0) break; // определяем индекс i2 последнего положительного элемента
 
  // находим сумму между первым и последним положительным элементом
 int s=0;
 for (int i = i1+1; i < i2-1; i++)
 s+=arr[i];
0
0 / 0 / 1
Регистрация: 03.11.2012
Сообщений: 386
16.11.2012, 20:51  [ТС] 12
мне надо наити первый положительный и последний положительный элемнт
0
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
16.11.2012, 21:14 13
Цитата Сообщение от flatra Посмотреть сообщение
мне надо наити первый положительный и последний положительный элемнт
Ну, так вникайте же в то, что Вам пишут.
C++
1
2
3
4
5
6
int i1,i2;
 for (i1=0; i1<n; i1++)
     if (arr[i1]>0) break; // определяем индекс i1 первого положительного элемента
 for (i2=n; i2>0; i2--)
     if (arr[i2]>0) break; // определяем индекс i2 последнего положительного элемента
 cout << arr[i1] << " " << arr[i2];
0
16.11.2012, 21:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 21:14
Помогаю со студенческими работами здесь

Сумма элементов массива, расположенных между первым и последним положительными элементами
14.В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) минимальный элемент...

Сумма элементов массива, расположенных между первым и последним отрицательными элементами
12.В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) сумму элементов...

Найти сумму элементов массива, находящихся между первым и последним отрицательным элементом
В целочисленном массиве из 20 ти элементов, найти сумму элементов, находящихся между первым и...

Найти количество элементов массива, содержащихся между первым и последним максимальным элементом
Здравствуйте! Помогите пожалуйста сделать задачу!!! Дан набор из целых чисел ( числа читаются...


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

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

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