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

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

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

Массив: сумма / произведение элементов / преобразование массива - C++

18.06.2013, 00:17. Просмотров 313. Ответов 9
Метки нет (Все метки)

В одномерном массиве, состоящем из целочисленных элементов, вычислить:
• произведение элементов массива с четными номерами;
• сумму элементов массива, расположенных между первым и последним нуле¬выми элементами.
• преобразовать массив таким образом, чтобы сначала располагались все положи¬тельные элементы, а потом – все отрицательные (элементы, равные нулю, счи¬тать положительными).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 00:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: сумма / произведение элементов / преобразование массива (C++):

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

Сумма и произведение элементов массива - C++
очень надо знаю что задачи не сложные но просто времени нету их решать,а то отчислят :(

C++5 числами из массива при выборе операции показывает результат. (сумма, произведение . элементов массива) - C++
#include <iostream> using namespace std; void main() { int m, i; char type; double res; cout << "Input 5 numbers" <<...

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

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

Сумма или произведение элементов массива - C++
Здравствуйте, написала код, но почему-то не работает сумма и произведение: Задача: Сформируйте массив из 5 элементов, организовав ввод...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
18.06.2013, 00:27 #2
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
int n;
cout<<"N: ";
cin>>n;
int* mas=new int[n];
for (int i=0;i<n;i++)
{
cout<<"mas["<<i<<"]=";
cin>>mas[i];
}
int product=1;
for (int i=0;i<n;i+=2)
product*=mas[i];
 
cout<<"Otvet: "<<product<<endl;
system("pause");
return 0;
}
Добавлено через 4 минуты
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
#include <iostream>
using namespace std;
 
int main()
{
int n;
cout<<"N: ";
cin>>n;
int* mas=new int[n];
for (int i=0;i<n;i++)
{
cout<<"mas["<<i<<"]=";
cin>>mas[i];
}
bool bFirst=false,bLast=false;
int first=0,last=n-1;
for (int i=0;i<n/2;i++)
{
if (mas[i]==0)
if (!bFirst)
{
first=i;
bFirst=!bFirst;
}
if (mas[n-1-i]==0)
if (!bLast)
{
bLast=!bLast;
last=n-1-i;
}
}
int product=0;
for (int i=first+1;i<last;i++)
product+=mas[i];
 
cout<<"Otvet: "<<product<<endl;
system("pause");
return 0;
}
marlah
0 / 0 / 0
Регистрация: 12.06.2013
Сообщений: 39
18.06.2013, 00:29  [ТС] #3
Цитата Сообщение от Wolkodav Посмотреть сообщение
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
int n;
cout<<"N: ";
cin>>n;
int* mas=new int[n];
for (int i=0;i<n;i++)
{
cout<<"mas["<<i<<"]=";
cin>>mas[i];
}
int product=1;
for (int i=0;i<n;i+=2)
product*=mas[i];
 
cout<<"Otvet: "<<product<<endl;
system("pause");
return 0;
}
Добавлено через 4 минуты
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
#include <iostream>
using namespace std;
 
int main()
{
int n;
cout<<"N: ";
cin>>n;
int* mas=new int[n];
for (int i=0;i<n;i++)
{
cout<<"mas["<<i<<"]=";
cin>>mas[i];
}
bool bFirst=false,bLast=false;
int first=0,last=n-1;
for (int i=0;i<n/2;i++)
{
if (mas[i]==0)
if (!bFirst)
{
first=i;
bFirst=!bFirst;
}
if (mas[n-1-i]==0)
if (!bLast)
{
bLast=!bLast;
last=n-1-i;
}
}
int product=0;
for (int i=first+1;i<last;i++)
product+=mas[i];
 
cout<<"Otvet: "<<product<<endl;
system("pause");
return 0;
}
получается это для второго пункта?
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
18.06.2013, 00:36 #4
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
28
29
30
31
32
33
34
#include <iostream>
using namespace std;
 
int main()
{
int n;
cout<<"N: ";
cin>>n;
int* mas=new int[n];
for (int i=0;i<n;i++)
{
cout<<"mas["<<i<<"]=";
cin>>mas[i];
}
int k=0;
while (k<n)
{
    if (mas[k]<0)
    {
        int a=mas[k];
        for (int j=k;j<n-1;j++)
            mas[j]=mas[j+1];
        mas[n-1]=a;
    }
    else k++;
}
 
cout<<"Otvet: "<<endl
for (int i=0;i<n;i++2)
cout<<mas[i]<<" ";
 
system("pause");
return 0;
}
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
18.06.2013, 00:36 #5
Цитата Сообщение от marlah Посмотреть сообщение
получается это для второго пункта?
получается Вы читать не умеете

Цитата Сообщение от marlah Посмотреть сообщение
• произведение элементов массива с четными номерами;
Цитата Сообщение от Wolkodav Посмотреть сообщение
for (int i=0;i<n;i+=2)
product*=mas[i];
ну и где тут второй пункт?
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
18.06.2013, 00:37 #6
Мог где-то напортачить, на компиляторе не проверял.

Добавлено через 20 секунд
ValeryS, я что-то не так сделал?
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
18.06.2013, 00:39 #7
Цитата Сообщение от Wolkodav Посмотреть сообщение
ValeryS, я что-то не так сделал?
Все так (по крайней мере по первой задаче)
единственно динамический массив вместо статики
но это дело вкуса
это клиент читать не умеет
если не видит в одном посте две задачи
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
18.06.2013, 00:42 #8
ValeryS, не очень люблю статику, просто сразу забубенить могу многовато)
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
18.06.2013, 00:46 #9
Цитата Сообщение от Wolkodav Посмотреть сообщение
for (int i=0;i<n/2;i++)
{
if (mas[i]==0)
if (!bFirst)
{
first=i;
bFirst=!bFirst;
}
if (mas[n-1-i]==0)
if (!bLast)
{
bLast=!bLast;
last=n-1-i;
}
а вот здесь косячек
делишь массив пополам
а если будет так
010234567
то до последнего нуля не доберешься

Добавлено через 3 минуты
я бы сделал так
немного поправлю твой код свой писать лень
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i=0;i<n;i++)
 {
   if (mas[i]==0)
     if (!bFirst)
      {
       first=i;
       bFirst=true;
       }
     else
      last=i;
 }
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
18.06.2013, 18:16 #10
ValeryS, мог и ошибиться. Не проверял. Прямо тут писал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2013, 18:16
Привет! Вот еще темы с ответами:

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

Сортировка по возрастанию, сумма положительных и произведение отрицательных элементов массива - C++
#include &lt;stdio.h&gt; #include &lt;iostream.h&gt; main() { static float a; int i,j,sum=0,pr=1,t; cout&lt;&lt;&quot;Vvedite 6...

Составить программу для вычисления по формуле X - сумма всех элементов массива; Y - произведение положительных - C++
Составить программу для вычисления по формуле X - сумма всех элементов массива; Y - произведение положительных элементов массива; Z...

Ввести массив из 10 элементов, найти произведение элементов массива. - C++
Ввести массив из 10 элементов, найти произведение элементов массива.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.06.2013, 18:16
Ответ Создать тему
Опции темы

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