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

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

Войти
Регистрация
Восстановить пароль
 
Aleksandr A.
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 5
#1

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

20.10.2011, 23:51. Просмотров 683. Ответов 6
Метки нет (Все метки)

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

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

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

2-D масивы. - C++
Помогите! Написать программу в С++ которая будет проверять является ли 2-д масив маг.квадратом,у которого сума строк,столбцов и...

Масивы - C++
Приветик помогите решить прошку пожалуста У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того...

Масивы - C++
Здраствуйте! Если есть минутка свободного времени, помогите решить задачу: росположить елементы масива так, что бы сначали ишли елементы...

Масивы - C++
Помогите сделать задачу по С++. Создать массив. Вывести массив в общепринятом виде. Превратить массив, согласно условиям. Вывести...

масивы - C++
сортировки массива методом пузырька и методом прямого включения Програмы нужны в Microsoft visual studio заранье спасибо

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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++
Начал решать задачу, вот условие: Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно два раза, и...

Динамические масивы - C++
Помогите пожалуста !! Сформировать одномерный динамический массив целых чисел. Все положительные элементы массива перенести в начало...

Указатели и масивы - C++
Добрый день. Помогите пожалуйста разобраться с указателями. Есть рабочий код: const int n=5; int a ; int k=1; ...


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

Или воспользуйтесь поиском по форуму:
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
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     С++ Масивы
Ответ Создать тему
Опции темы

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