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

Написать программу по C++. Уже второй день голову ломаю... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задание :упорядочить масив по принцыпу змейки обход указан на рисунку! http://www.cyberforum.ru/cpp-beginners/thread366492.html
Вот схема по которой надо упорядочит этот массив! =================================== =========
C++ Программа(консольная) работает и одновременно ждет данные от клавиатуры. Как? Консольная программа. Например, рассмотрит игру "змейка". В этой игре одновременно змейка ползет и ждет данные от клавиатуры. Но если написать cin >> data, то ведь вся программа остановится, пока значение не будет введено и змейка в это время перестанет ползти. Как это реализовать? В WinAPI это понятно как сделать, ибо там ожидание данных не прерывает программу. А вот с консолью не понятно. http://www.cyberforum.ru/cpp-beginners/thread366484.html
Преобразовать входной файл, заменив в нем шестнадцатеричные числа на десятичные и наоборот. C++
Очень нужна ваша помощь Разработать программу и подпрограмму (подпрограммы). Преобразовать входной файл, заменив в нем шестнадцатеричные числа на десятичные и наоборот.
Нахождение НОД C++
Здравствуйте, мне надо найти НОД чисел. Как это реализовать на языке C++ ?
C++ Получения информации из sdtout http://www.cyberforum.ru/cpp-beginners/thread366455.html
Здравствуйте, мне нужно, что бы программа могла получать в стринговую переменную информацию из stdout. Например, после команды system("ls"); в stdout будет выведена информация о содержимом папки и эту информацию мне нужно сохранить в переменную. Как это сделать?
C++ Генерация случайных чисел #include <stdio.h> #include <conio.h> #include <clocale> #include <time.h> #include <stdlib.h> using namespace std; int main () { int x; setlocale(LC_CTYPE,"Russian"); подробнее

Показать сообщение отдельно
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
15.10.2011, 00:18     Написать программу по C++. Уже второй день голову ломаю...
тут не до конца. пункт 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int check_null(int n)
{
    return (n == 0) ? 1 : 0;
}
 
/********************************/
 
void call_break_pid(int *n)
{
    if (!n) exit(-1);
}
 
/********************************/
 
void ar_in(int *arr, const int size, const int iternull_1, const int iternull_2)
{
    int i = 0, minus;
    for (i; i < size; ++i)
    {
        minus = (rand() % 2) ? -1 : 1;
        if ((i + 1) != iternull_1 && (i + 1) != iternull_2)
            *(arr + i) = minus * rand() % 10 + 1;
    }
}
 
/********************************/
 
long long int mathematical_work(int * arr, const int size, const int iter)
{
    int i = iter;
    long long int tmp = 1;
    for (i; i < size; i +=2)
        tmp *= *(arr + i);
    return tmp;
}
 
/********************************/
 
int minimum(int min, int max)
{
    return (min < max) ? min : max;
}
 
/********************************/
 
int maximum(int max, int min)
{
    return (max > min) ? max : min;
}
 
/********************************/
 
int mathematical_sum(int *arr, int min, int max)
{
    int i, sum = 0;
    i = minimum(min, max);
    max = maximum(min, max);
    for (i -= 1; i < max - 1; ++i)
        sum += *(arr + i);
    return sum;
}
 
int main(int argc, char *argv[])
{
    int N, *ar = 0, i, tmp, a, b;
    long long int max;
    srand(time(0));
 
    if (argc > 1)
    {
        max = atoi(argv[1]);
 
        N = rand() % max;
        if (check_null(N))
        {
            printf("случайный размер массива равен 0");
            return 0;
        }
 
        ar = (int*)malloc(N * sizeof(int));
        call_break_pid(ar);
 
        a = rand() % (N - 1) + 1;
        b = rand() % (a - 1);
        ar[a] = 0; ar[b] = 0;
 
        ar_in(ar, N, a, b);
        for (i = 0; i < N; ++i)
            printf("%d ", ar[i]);
        printf("\n");
        max = mathematical_work(ar, N, 1);
        printf("\nпроизведение четных = %d\n", max);
        max = mathematical_work(ar, N, 0);
        printf("\nпроизведение нечетных = %d\n", max);
        max = mathematical_sum(ar, a, b);
        printf("\nсумма чисел между нулевыми = %d\n", max);
 
        free(ar);
    }
    else printf("\nmay be you dont read source code of programm? try again\n");
    return 0;
}



вот как работает
Код
9 7 -6 9 -4 -6 7 0 10 8 7 -3 0 -1 -1 8 7 -6 8 4 -4 

произведение четных = 0

произведение нечетных = 0

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