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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.80
Desoad
1 / 1 / 0
Регистрация: 30.11.2008
Сообщений: 12
#1

блок-схема алгоритма и програмный код функции - C++

25.01.2009, 11:29. Просмотров 6842. Ответов 5
Метки нет (Все метки)

Прошу помочь с данным заданием.

Напишите блок-схему алгоритма и програмный код функции с коментариями. Для функции передаваемые параметры: указатель на массив и количество элементов массива. Возвращаемые значения: число положительных и число отрицательных элементов массива, максимальный элемент массива.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2009, 11:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос блок-схема алгоритма и програмный код функции (C++):

Блок схема ( схема алгоритма ) - C++
Доброго времени суток . Есть вот такая програмка : bool checktwo(const int x); int main(){ for (int i=1000; i<10000; i++) //...

Блок схема алгоритма - C++
Помогите пожалуйста составить блок схему алгоритма #include <stdio.h> #include <conio.h> #include <iostream> #include <math.h> ...

Блок-схема алгоритма №2 - C++
#include <stdio.h> #include <conio.h> #include <math.h> main () {double a,x,z; scanf("%f",x); scanf("%f",a); if...

Блок-схема алгоритма - C++
#include <iostream> #include <conio.h> #define LENGTH 20 int main() { int array = {1, 5, 6, 3, 12, 36, 87, 91, 34,...

Блок-схема алгоритма - C++
#include <iostream> #include <math.h> #include <conio.h> using namespace std; int main() { int a,x,c,f; cin >>a; cin...

Блок-схема алгоритма работы программы - C++
#include <iostream> #include <conio.h> #define LENGTH 20 int main() { int array = {1, 5, 6, 3, 12, 36, 87, 91, 34,...

5
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
25.01.2009, 11:42 #2
Цитата Сообщение от Desoad Посмотреть сообщение
Возвращаемые значения: число положительных и число отрицательных элементов массива, максимальный элемент массива.
возращаемое значение может быть одно, надо исрользовать ссылки(или указатели)
0
Dimazzzzzz
588 / 95 / 2
Регистрация: 24.01.2009
Сообщений: 379
25.01.2009, 13:25 #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
//Объявляем возвращаемую структуру, т.к. функция возвращает 
//только одно значение, а нам надо несколько
typedef struct _strStruct1 {
    int Plus;
    int Minus;
    int Null;
    int Max;
} Struct1, *lpStruct1;
 
//Объявление функции (возвращает указатель типа _strName)
lpStruct1 FTest (int *Buffer, int Number);
 
//Пример массива
int Buffer [100] = {-15, 456, 589, -1, 0, 7888, 344, -999999, 0, 345, 455};
 
//Вызов функции и сохранение адреса структуры 
//Хотя тут лучше передавать адрес структуры, созданной вне функции,
//но по условию должно быть 2 параметра
lpStruct1 pStruct1 = FTest (Buffer, 11);
 
/*/////////////////////////////////////////////////////////////
После получение адреса структуры, можно использовать ее где надо:
pStruct1->Max
pStruct1->Minus
pStruct1->Plus
pStruct1->Null
/*/////////////////////////////////////////////////////////////
 
//Сама наша функция
lpStruct1 FTest (int *funcBuffer, int funcNumber) {
    //Создаем структуру, указатель на которую будет возвращен
    static Struct1 Result;
    
    //Заливаем ее нулями
    memset (&Result, 0, sizeof (Result));
    
    //Сохраняем первый элемент массива в качестве максимального 
    //(чтобы потом было с чем сравнивать)
    Result.Max = funcBuffer[0];
    
    //Заполняем структуру
    for (int i = 0; i < funcNumber; i++) {
        //Сравниваем текущий элемент с нулем 
        //и изменяем соответствующие счетчики
        if (funcBuffer[i] < 0) {
            Result.Minus++;
        } else if (funcBuffer[i] == 0) {
            Result.Null++;
        } else if (funcBuffer[i] > 0) {
            Result.Plus++;
        }
        
        //Ищем максимальный элемент
        if (funcBuffer[i] > Result.Max) {
            Result.Max = funcBuffer[i];
        }
    }//end for
    
    //Возвращаем указатель на Result
    return &Result;
}
1
Dimazzzzzz
588 / 95 / 2
Регистрация: 24.01.2009
Сообщений: 379
25.01.2009, 22:03 #4
вот блок-схема функции. Немного кривая, потому что в фотошопе рисовал . Кстати, кто нить знает программу, в которой можно нарисовать подобные схемы и сохранить в виде картинки?
зы: условие проверки funcBuffer[i] > 0 я убрал, т.к., если число и не меньше нуля и не равно ему, то значит оно больше его...
0
Миниатюры
блок-схема алгоритма и програмный код функции  
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.01.2009, 00:32 #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
30
31
32
33
 
#include <stdio.h>
 
typedef struct {
    unsigned poz;
    unsigned neg;
    long max;
} Arr, *Arrp;
 
/* возвращает число положительных, отрицательных
   и максимальный элемент массива */
main()
{
    Arrp func(int *, unsigned), array;
    int n[] = { 1, 2, 3, 4, -5 };
    
    array = func(n, sizeof n / sizeof n[0]);
    printf("%d %d %ld\n",
        array->poz, array->neg, array->max);
    return 0;
}
 
/* func:  возвращает структуру со значениями,
   которые могут быть вычислены из массива */
Arrp func(int *ip, unsigned n)
{
    static Arr tmp;
    
    tmp.poz = 4;
    tmp.neg = 1;
    tmp.max = 4;
    return &tmp;
}
0
HLee
0 / 0 / 0
Регистрация: 06.10.2012
Сообщений: 19
28.04.2013, 20:49 #6
Цитата Сообщение от Dimazzzzzz Посмотреть сообщение
вот блок-схема функции. Немного кривая, потому что в фотошопе рисовал . Кстати, кто нить знает программу, в которой можно нарисовать подобные схемы и сохранить в виде картинки?
зы: условие проверки funcBuffer[i] > 0 я убрал, т.к., если число и не меньше нуля и не равно ему, то значит оно больше его...
рисовать надо в microsoft VISIO
0
28.04.2013, 20:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 20:49
Привет! Вот еще темы с ответами:

Блок-схема алгоритма работы программы - C++
Нужна блок-схема алгоритма работы программы.#include &lt;iostream.h&gt; #include &lt;math.h&gt; void PSort(double *Arr,int n) { double...

Табуляция функции и схема алгоритма и программа - C++
Помогите, не могу понять, как протабулировать функцию во втором задании и написать схему алгоритма и программу в третьем

Схема алгоритма. Как по ГОСТу отобразить обращение и получение значения из функции? - C++
Возник вопрос относительно построения блок-схемы. Операции записываются в символе процесса, прямоугольнике, это я, как ни странно, понимаю,...

блок схема функции - C++
Ребята, как нарисовать блок схему функции? это должна быть отдельная блок схема? вот для такого кода например #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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