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

Одномерный массив C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ нереальное перемножение матриц. http://www.cyberforum.ru/cpp-beginners/thread328166.html
Подскажите пожалуйста алгоритм Смысл следуйщий: даны две треугольные матрицы(под главной диагональю только нули), которые необходимо перемножить. НО! перемножать нужно строками - т.е. из первой матрицы запоминаем строку, а из второй столбец и перемножаем.
C++ Написать функцию нахождения суммы элементов двумерного массива 1. Написать программу для ввода элементов двумерного массива MAS размерностью N. 2. Написать программу для вывода на экран двумерного массива размерностью 3х3 в виде матрицы. 3. Написать программу, которая проверяет, находится ли в двумерном массиве А размерностью 3х4 введенное с клавиатуры число В. 4. Дан двумерный массив размерностью МхN, найти минимальный и максимальный элементы каждой... http://www.cyberforum.ru/cpp-beginners/thread328154.html
C++ сдаю экзамен прямо сейчас!!!
Входной текст представляет собой последовательность литер, изображающих целое число. Числу может предшествовать знак "+" или "-", а также пробелы. Изображение заканчивается пробелом. Опеределить правильно ли записано число.
Числовая последовательность. C++
1. Вводится последовательность, 0-конец последовательности. Подсчитать, сколько в ней отрицательных цисел, и найти сумму положительных чисел. 2. Дана последовательность из N чисел. Определить, сохраняет ли данная последовательность знак. 3. Вводится последовательность из n произвольных чисел. Определить, сколько раз данная последовательность меняет знак. 4. Вводится последовательность из N...
C++ как расшивровать это вот http://www.cyberforum.ru/cpp-beginners/thread328128.html
возможно чтото вот такое расшивровать и как? ...
C++ Морской Бой как лучше организовать алгоритм хода компа в морском бое? подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
01.07.2011, 05:59     Одномерный массив C++
Вот держи, использовал шаблоны для разных числовых типов, чтобы не писать дублирующий код с другии числовыми типами. ладно пашёл спать.
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
#include <iostream>
#include <algorithm>
using namespace std;
 
// подсчёт суммы
template<typename T>
T  get_sum(const T* arr, int size) {
    T sum = 0;
    while(size--)
        sum += *arr++;
    return sum;
}
 
// сумма срденего ариф-ого
template<typename T>
T  get_mid(const T* arr, int size) {
    int len = size, sum = 0;
    while(len--)
        sum += *arr++;
    return sum / size;
}
 
 
// сумма отрицательных
template<typename T>
T  signed_sum(const T* arr, int size) {
    T sum = 0;
    while(size--) {
        if( *arr < 0)
            sum += *arr;
        *arr++;
    }
    return sum;
}
 
// сумма положительных
template<typename T>
T  unsigned_sum(const T* arr, int size) {
    T sum = 0;
    while(size--) {
        if( *arr > 0)
            sum += *arr;
        *arr++;
    }
    return sum;
}
 
 
// подсчёт скольких больше указанное число
template<typename T>
int  count_max(const T* arr, int size, T val) {
     int len = 0;
     while(size--) {
           if( val > *arr )
              len++;
          *arr++;
     }
     return len;
}
 
 
 
 
 
 
#define N  10
 
 
 
int main(int argc, char* argv[])
{
 
    int B[N] = { -5, 90, -400, 200, 500, 4, 3, 1, 4, -2 };
 
 
    cout << "max element: "  << (*max_element(B, B + N)) << endl;
    cout << "min element: "   << (*min_element(B, B + N)) << endl;
    cout << "sum array:   "    <<  get_sum(B, N)         << endl;
    cout << "mid value:   "    <<  get_mid(B, N)           << endl;
    cout << "sum signed:  "   <<  signed_sum(B, N)      << endl;
    cout << "sum unsigned:"  <<  unsigned_sum(B, N)   << endl;
    cout << "value big: "       <<  count_max(B, N, 50)  << endl;
 
    int num = 4; // cin >> num;
    cout << "max count: " << num << " - " << count(B, B + N, num) << endl;
 
 
    sort(B, B + N);  // сортировка по возрастанию
 
    int* ra = min_element(B, B + N);
    int* rb = max_element(B, B + N);
    if(ra && rb) {   // обмениваем минимальный элемент с максимальным
       int tmp = *ra;
       *ra     = *rb;
       *rb     = tmp;
    }
 
    for(int i =0 ; i < N; i++)
       cout << B[i] << ", ";
    cout.put('\n');
 
    cin.get();
    return 0;
}
 
Текущее время: 08:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru