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

Подсчитать количество положительных элементов одномерного массива - C++

Восстановить пароль Регистрация
 
N-Dubz
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 27
14.09.2013, 08:21     Подсчитать количество положительных элементов одномерного массива #1
Доброго времени суток. помогите, пожалуйста, с задачей. У меня сложности с указателями.
Задача. Подсчитать количество положительных элементов одномерного массива, порядковый номер которых больше номера максимального элемента.
Примечание. Создать функцию, параметром которой является одномерный массив и его размерность. Тело функции реализовать двумя способами: через обращение к элементам массива через указатели и обычным способом. Продемонстрировать возможность применения созданной функции к строкам двумерного массива. Элементы матрицы задать случайным образом, не забыв вывести их на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 08:21     Подсчитать количество положительных элементов одномерного массива
Посмотрите здесь:

C++ Подсчитать и вывести на экран количество отрицательных, положительных и нулевых элементов массива
Массивы. Подсчитать количество элементов, равных нулю и сумму положительных элементов (Написать через классы) C++
Для заданного двумерного числового массива подсчитать количество таких строк, в которых положительных элементов больше, чем отрицатель-ных. C++
Подсчитать количество положительных элементов в списке C++
C++ Подсчитать количество отрицательных и положительных элементов массива
Подсчитать максимальное количество положительных элементов массива заключенных между нулями C++
Найти сумму положительных элементов одномерного массива C++
C++ Вычислить сумму всех положительных элементов одномерного массива
C++ Подсчитать количество положительных чисел среди элементов массива
Подсчитать количество положительных и отрицательных элементов массива; найти максимальный среди нечётных C++
C++ Найти количество положительных элементов одномерного массива
Создать линейный массив целых чисел, подсчитать количество положительных элементов массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
14.09.2013, 09:12     Подсчитать количество положительных элементов одномерного массива #2
В чём сложности? Напишите ваш код.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
14.09.2013, 09:18     Подсчитать количество положительных элементов одномерного массива #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
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 5
 
int positive_count(int A[N])
{
    int max = 0;
    for (int i = 0; i < N; i++)
        max = (A[i] > A[max]) ? i : max;
 
    int count = 0;
    for (int k = 0; k < N; k++)
        if (A[k] > 0 && k > max) count++;
 
    return count;
}
 
int positive_count_ptr(int* pA)
{
    int*& pMax = pA;
    int*& pTmp = pMax;
    while (pA != NULL)
    {
        if (*pA > *pMax) pMax = pA;
        pA++;
    }
 
    int count = 0;
    while (pTmp != NULL)
    {
        if (*pTmp > 0 && pTmp > pMax) count++;
        pTmp++;
    }
 
    return count;
}
 
int main(int argc, char* argv[])
{
    int** A = new int*[N];
    memset((void*)A, 0x00, sizeof(int*) * N);
 
    for (int i = 0; i < N; i++)
    {
        A[i] = new int[N];
        memset((void*)A[i], 0x00, sizeof(int) * N);
 
        for (int j = 0; j < N; j++)
        {
            A[i][j] = rand() % (2 * N) - N;
            printf("%d ",A[i][j]);
        }
 
        printf("\n");
    }
 
    printf("\n\n");
 
    for (int k = 0; k < N; k++)
    {
        for (int m = 0; m < N; m++)
            printf("%d ",A[k][m]);
 
        printf("\t%d\n",positive_count(A[k]));
    }
 
    printf("\n\n");
 
    for (int j = 0; j < N; j++)
    {
        for (int m = 0; m < N; m++)
            printf("%d ",A[j][m]);
 
        printf("\t%d\n",positive_count(A[j]));
    }
 
    _getch();
 
    return 0;
}
http://codepad.org/0xZYia6d
Миниатюры
Подсчитать количество положительных элементов одномерного массива  
ValeryS
Модератор
6412 / 4878 / 448
Регистрация: 14.02.2011
Сообщений: 16,174
14.09.2013, 09:45     Подсчитать количество положительных элементов одномерного массива #4
Цитата Сообщение от zitxbit Посмотреть сообщение
for (int k = 0; k < N; k++)
if (A[k] > 0 && k > max) count++;
а зачем с нуля цикл крутить?
Цитата Сообщение от N-Dubz Посмотреть сообщение
порядковый номер которых больше номера максимального элемента.
C++
1
2
for (int k = max+1; k < N; k++)
 if (A[k] > 0 ) count++;
Yandex
Объявления
14.09.2013, 09:45     Подсчитать количество положительных элементов одномерного массива
Ответ Создать тему
Опции темы

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