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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
Killspamers
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 26
18.12.2011, 15:57     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #1
Народ выручайте
у меня заходы уже.
задачка с одномерным массивом.
Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами.
вот код
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
// 3333333.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <clocale>
void main()
{
    const int N1 = 100;
    int a[N1],*ptr,n,p,otr,kol;
    int fl=0;
    setlocale(LC_ALL,"rus");
    printf ( "Введите число элементов массива:\n ");
    scanf ( "%d", &n);
    printf ("Введите элементы массива:\n ");
    for( ptr = a; ptr-a < n; ptr++ )
        scanf("%d", ptr);
        p = 1;
        otr = 0;
        kol = 0;
        for ( ptr = a; ptr-a < n; ptr++ )
        {
              if ( *ptr > 0)
              {
                  p = p* *ptr;
                  fl=fl+1;
              }
             if (fl==0) p=0; 
             else if (*ptr < 0) otr = otr+*ptr;
             else if ((ptr-a)%2!=0) kol=kol+1; 
           }
    printf("произведение положительных элементов = %d\n",p);
    printf("сумма отрицательных элементов = %d\n",otr);
    printf("количество нулевых элементов массива с нечетными индексами = %d\n",kol);
    getch();
}
так вот, если массив начинается с нуля, то произведение положительных нули!
и ещё касячит нулевые элементы, помогите плиз))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 15:57     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами.
Посмотрите здесь:

Массивы: вычислить сумму положительных и количество отрицательных элементов массива C++
Найти сумму элементов с четными индексами и произведение элементов с нечетными индексами C++
Определить количество положительных, отрицательных и нулевых элементов массива. C++
C++ Определить количество положительных, отрицательных и нулевых элементов массива.
Вычислить произведение отрицательных элементов массива, расположенных в строках с нечетными номерами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
18.12.2011, 17:48     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <clocale>
void main()
{
    const int N1 = 100;
    int a[N1],n,p,otr,kol;
    int fl=0;
    setlocale(LC_ALL,"rus");
    printf ( "Введите число элементов массива:\n ");
    scanf ( "%d", &n);
    printf ("Введите элементы массива:\n ");
    for( int i = 0; i < n; i++ )
        scanf("%d", &a[i]);
    p = 1;
    otr = 0;
    kol = 0;
    for ( int i = 0; i < n; i++ )
    {
        if ( a[i] > 0)
        {
            p = p * a[i];
            fl=fl+1;
        }
        if (a[i] < 0) otr = otr+a[i];
        if (i % 2 != 0 && a[i] == 0) kol=kol+1; 
    }
    printf("произведение положительных элементов = %d\n",p);
    printf("сумма отрицательных элементов = %d\n",otr);
    printf("количество нулевых элементов массива с нечетными индексами = %d\n",kol);
    getch();
}
Killspamers
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 26
18.12.2011, 17:55  [ТС]     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #3
Спс конечно,но что-то все равно не работает =(
при введении 0000
произведение положительных 1 =((
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
18.12.2011, 18:59     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #4
потому что оно изначально равно 1. Поставьте 0, и произведение всегда будет 0!
Killspamers
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 26
18.12.2011, 19:17  [ТС]     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #5
amor1k,мне нужно произведение положительных элементов, а если я ввожу нулевую матрицу как произведение нулей будет равно 1? в этом то и проблема , мне надо обнулить P если нет положительных элементов.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
18.12.2011, 19:20     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #6
добавьте счетчик положительных чисел, и если их кол-во будет равно нулю, то произведение сделайте тоже равным нулю.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
18.12.2011, 19:41     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #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
#include <iostream>
using namespace std;
void Schet( int* ar, int sz );
void Print( int a, int b, int c );
int main()
{
    setlocale(0,"");//для русского языка
    const int N = 10;
    int a[N] = {-9, 0, 0, 2, -6, 0, 3, 2, 1, -4};
    Schet(a,N);
}
void Schet( int* ar, int sz )
{
    int a = 1, b = 0, c = 0;
    for( int i = 0; i < sz; i++ )
    {
        if( i % 2 == 1 )
        {
            if( ar[i] > 0 )
                a *= ar[i];
            if( ar[i] < 0 )
                b += ar[i];
            if( ar[i] == 0 )
                c++;
        }
    }
    Print(a,b,c);
}
void Print( int a, int b, int c )
{
    cout << "Произведение положительных элементов: " << a << endl;
    cout << "Сумма отрицательных элементов: " << b << endl;
    cout << "Количество нулевых элементов: " << c;
}
Killspamers
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 26
18.12.2011, 20:14  [ТС]     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #8
не, всеравно не робит=(
проклятая прога
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
18.12.2011, 20:21     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #9
Цитата Сообщение от Killspamers Посмотреть сообщение
не, всеравно не робит=(
проклятая прога
На Code::Blocks все нормально
Killspamers
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 26
18.12.2011, 20:38  [ТС]     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #10
поставил я счётчик теперь вообще хз что кажет
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
// 3333333.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <clocale>
void main()
{
    const int N1 = 100;
    int a[N1],i,n,p,otr,kol;
    int fl=0;
    setlocale(LC_ALL,"rus");
    printf ( "Введите число элементов массива:\n ");
    scanf ( "%d", &n);
    printf ("Введите элементы массива:\n ");
    for ( i = 0; i<n ; i++ )
        scanf ( "%d", &a[i]);
        p = 1;
        otr = 0;
        kol = 0;
        for (i = 0; i<n; i++)
           {
              for (i = 0; i<n-1; i++)
              if ( a[i] > 0 )
              {
                  p = p*a[i];
                  fl++;
              }
              if (fl==0) p=0;
              if ( a[i]<0 ) otr = otr+a[i];
              if (i%3&&(a[i]==0)) kol=kol+1; 
           }
    printf("произведение положительных элементов = %d\n",p);
    printf("сумма отрицательных элементов = %d\n",otr);
    printf("количество нулевых элементов массива с нечетными индексами = %d\n",kol);
    getch();
}
выручайте
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
19.12.2011, 11:02     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #11
зачем вам второй цикл???
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 <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <clocale>
void main()
{
    const int N1 = 100;
    int a[N1],i,n,p,otr,kol;
    int fl=0;
    setlocale(LC_ALL,"rus");
    printf ( "Введите число элементов массива:\n ");
    scanf ( "%d", &n);
    printf ("Введите элементы массива:\n ");
    for ( i = 0; i<n ; i++ )
        scanf ( "%d", &a[i]);
    p = 1;
    otr = 0;
    kol = 0;
    for (i = 0; i<n; i++)
    {
            if ( a[i] > 0 )
            {
                p = p*a[i];
                fl++;
            }
            if (fl==0) p=0;
            if ( a[i]<0 ) otr = otr+a[i];
            if (i%3&&(a[i]==0)) kol=kol+1; 
    }
    printf("произведение положительных элементов = %d\n",p);
    printf("сумма отрицательных элементов = %d\n",otr);
    printf("количество нулевых элементов массива с нечетными индексами = %d\n",kol);
    getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 13:21     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Killspamers
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 26
24.12.2011, 13:21  [ТС]     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. #12
Всем спасибо! Учел всё выше сказанное, мой код работает! Вот если кому надо:
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
// 3333333.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <clocale>
void main()
{
    const int N1 = 100;
    int a[N1],i,n,p,otr,kol;
    int fl=0;
    setlocale(LC_ALL,"rus");
    printf ( "Введите число элементов массива:\n ");
    scanf ( "%d", &n);
    printf ("Введите элементы массива:\n ");
    for ( i = 0; i<n ; i++ )
        scanf ( "%d", &a[i]);
        p = 1;
        otr = 0;
        kol = 0;
        for (i = 0; i<n; i++)
        {
              if ( a[i] > 0 )
              {
                  p = p*a[i];
                  fl++;
              }
        }
 
        if (fl==0) p=0;
        for (i = 0; i<n; i++)
             if ( a[i]<0 ) otr = otr+a[i];
        for (i = 0; i<n; i++)
             if (i%2!=0&&(a[i]==0)) kol=kol+1; 
    printf("произведение положительных элементов = %d\n",p);
    printf("сумма отрицательных элементов = %d\n",otr);
    printf("количество нулевых элементов массива с нечетными индексами = %d\n",kol);
    getch();
}
Только вот сказали переделать под указатели, сделал наподобие но ниче не выходит =(( В чем ошибка?

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 "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <clocale>
void main()
{
    const int n1 = 100;
    int a[n1],*ptr,n,p,otr,kol;
    int fl=0;
    int* a;
    int* ptr2; 
    int* ptr3;
    setlocale(LC_ALL,"rus");
    printf ( "Введите число элементов массива:\n ");
    scanf ( "%d", &n);
    printf ("Введите элементы массива:\n ");
    for( ptr = a; ptr-a < n; ptr++ )
        scanf("%d",ptr);
        p = 1;
        otr = 0;
        fl = 0;
        kol = 0;
        for ( ptr = a; ptr-a < n; ptr++ )
        {
            if ( *ptr > 0 )
             {
                p = p * *ptr;
                fl++;
             }
            if (fl==0)p=0;
        }
        for ( ptr2 = a; ptr2-a < n; ptr2++ )
        {
            if (*ptr2 < 0) otr = otr+*ptr2;
        }
        for ( ptr3 = a; ptr3-a < n; ptr3++ )
        {
            if ((ptr3-a)%2!=0&& a==0) kol=kol+1;
        }
    printf("произведение положительных элементов = %d\n",p);
    printf("сумма отрицательных элементов = %d\n",otr);
    printf("количество нулевых элементов массива с нечетными индексами = %d\n",kol);
    getch();
}
Не считает количество нулевых массивов и если начинаю массив с нуля, всё обнуляется. Помогите пжлст!=)
Yandex
Объявления
24.12.2011, 13:21     Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами.
Ответ Создать тему
Опции темы

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