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

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

Восстановить пароль Регистрация
 
Aleksandr A.
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 5
20.10.2011, 23:51     С++ Масивы #1
Помогите написать 3 программы по этим заданиям в С++!
В одномерном массиве, который состоит из n действительных элементов, вычислить:
1. произведение элементов массива с четными индексами;
2. сумму элементов массива, расположенных между первым и последним нулевыми элементами;
3. упорядочить элементы массива так, чтобы сначала были размещены все положительные элементы, а потом все отрицательные (0 считаем положительным элементом).

Зарание большое спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2011, 23:51     С++ Масивы
Посмотрите здесь:

C++ C++ масивы
C++ Масивы С/С++
C++ Масивы
C++ 2-D масивы.
Масивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S.L.I.M.
15 / 12 / 2
Регистрация: 03.02.2011
Сообщений: 96
21.10.2011, 00:22     С++ Масивы #2
и в чём проблема?!

задача №1

C++
1
2
3
 int s=1; //это произведение
for(int i=0; i<n; i=i+2)
s=s*a[i];
задача 2:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int j;
for(int i=0; i<n; i++)
if(a[i]==0)
j=i; // находим первый индекс нулевого элемента
 
int k;
for(int i=n; i>0; i--)
if(a[k]==0)
k=i; // находим последний нулевой элемент
 
int s = 0;
 
for(int i=j; i<k; i++)
s  = s+a[i]; // находим сумму.
Добавлено через 1 минуту
P.S. можешь поставить "+1 Спасибо".
Aleksandr A.
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 5
21.10.2011, 00:51  [ТС]     С++ Масивы #3
Большое спасибо))))))

Добавлено через 18 минут
Помогите с третьей)
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
21.10.2011, 01:01     С++ Масивы #4
Цитата Сообщение от Aleksandr A. Посмотреть сообщение
Помогите с третьей)
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
#include <stdio.h>
 
#define N 10
 
void partition(double *a, int size)
{
        int i, j;
        double t;
        
        for (i = 1, j = 0; i < size; i++)
                if (a[j] >= 0)
                        j++;
                else if (a[i] >= 0) {
                        t = a[i], a[i] = a[j], a[j] = t;
                        j++;
                }
}
 
int main()
{
    double arr[N] = {10, -2, 5, 0, -6, -5, 3, 0, 11, -38};
    int i;
 
    partition(arr, N);
    for (i = 0; i < N; i++)
        printf("%.2f ", arr[i]);
    putchar('\n');
    return 0;
}
Aleksandr A.
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 5
21.10.2011, 01:19  [ТС]     С++ Масивы #5
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
#include <iostream.h>
int main (){
 const int n=6;
 
 int B[n];
 
 int s=1,i;
 cout<<"vvedit' chusla mass";
 for (i=0;i<n;i++)
 
 cin>>B[i];
 int j;
for(int i=0; i<n; i++)
if(B[i]==0)
j=i; // находим первый индекс нулевого элемента
 
int k;
for(int i=n; i>0; i--)
 if(B[k]==0)
k=i; // находим последний нулевой элемент
{
int s=0;
 
for(int i=j; i<k; i++)
s = s+B[i]; // находим сумму.
 cout<<"summa="<<s;
 system ("pause");
 return 0;
} }
 Комментарий модератора 
Используйте теги форматирования кода!


вот что выбивает можеш проверить что ето? спс зарание)
Миниатюры
С++ Масивы  
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
23.10.2011, 18:29     С++ Масивы #6
S.L.I.M.,
C++
1
2
3
4
5
6
7
8
9
int j;
for(int i=0; i<n; i++)
if(a[i]==0)
j=i; // находим первый индекс нулевого элемента
 
int k;
for(int i=n; i>0; i--)
if(a[k]==0)
k=i; // находим последний нулевой элемент
В эти циклы разве не нужно добавить break? (если нулей много)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2011, 19:13     С++ Масивы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Петррр
 Аватар для Петррр
5916 / 3353 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
23.10.2011, 19:13     С++ Масивы #7
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
#include <iostream>
#include <algorithm>
#include <numeric>
#include <ctime>
 
using namespace std;
 
 
class Random
{
    int hight;
public:
    Random(int max): hight(max)
    {
        srand(time(NULL));
    }
    int operator () ()
    {
        return rand() % hight - rand() % hight;
    }
};
 
bool above0(int item)
{
    return item >= 0;
}
 
int main(int argc, char **argv)
{
    const int size = 10;
    int *array = new int[size];
    generate(array, (array + size), Random(100));
    /* Для убедительности */
    int zeroPos = rand() % size;
    array[zeroPos] = 0;
    int zeroPos2;
    do
    {
        zeroPos2 = rand() % size;
    }
    while (zeroPos2 == zeroPos);
    array[zeroPos2] = 0;
    /* Конец убедительности */
    copy(array, (array + size), ostream_iterator<int>(cout, " "));
    int p = 1;
    for(int i = 0; i < size; i = i + 2)
        p *= array[i];
    int *firstZero = find(array, (array + size), 0);
    int *secondZero = find((firstZero + 1), (array + size), 0);
    int sum = accumulate(firstZero, secondZero, 0);
    cout << endl;
    cout << "P: " << p << endl;
    cout << "Sum: " << sum << endl;
    partition(array, array + size, above0);
    copy(array, array + size, ostream_iterator<int>(cout, " "));
    cout << endl;
    delete [] array;
    system("pause");
    return 0;
}
Yandex
Объявления
23.10.2011, 19:13     С++ Масивы
Ответ Создать тему
Опции темы

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