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

Нужно записать две строчки через указатель, не используя адрес - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Добавить k элементов в начало массива http://www.cyberforum.ru/cpp-beginners/thread1305682.html
Добавление K элементов в начало массива. Массив статический. Создаю первый массив, создаю второй массив. Но не знаю, как объединить эти два массива в один - так, чтобы второй был перед первым. Третий массив создать? Или как-то возможно просто вывести на экран в одной строке, чтобы второй массив был перед первым? Сложненькие операторы использовать как-то нежелательно - не проходили их еще....
C++ Как правильно пользоваться typedef для декларации типа указателя на функцию? Мне нужны будут функции, принимающие параметр-указатель на функции с одним и тем же списком параметров и возвращаемым типом. Как правильно пользоваться typedef для декларации типа такого параметра? Конкретно сейчас нужен указатель на оконную процедуру, но я хочу разобраться, как это делается. http://www.cyberforum.ru/cpp-beginners/thread1305679.html
Разъясните КМП алгоритм C++
int algorithm_KMP (char s, char q) { int i=0, j=-1, N, M; N = strlen(s); M = strlen(q); int *d =(int*)malloc(M*sizeof(int)); d=-1; while(i<M-1) { while((j>=0) && (q!=q))
C++ Использование регулярных выражений
На входе есть некая последовательность символов А, представленная в виде массива. Нужно, используя регулярное выражение, найти посделовательности B и C внутри A и вернуть номер последнего символа в B и первого в C; Можно ли это сделать с помощью std::regex?
C++ Подсчитать количество способов размещения, чтобы между числами k было ровно k других чисел http://www.cyberforum.ru/cpp-beginners/thread1305668.html
Условие: Дано следующие множество чисел {1,1,1,2,2,2...9,9,9} (тройки). Подсчитать количество способов размещения всех этих чисел в строку/ряд таким образом, чтобы между двумя последовательными числами k располагалось ровно k других. Вывести все эти способы размещения. Пример такого размещения для множество {1,1,2,2...16,16} (пары)...
C++ Циклы for и while (выполнить в двух вариантах) Циклы for и while (выполнить в двух вариантах) Вычислить и вывести на экран в виде таблицы значения функции F от x1 до x2 с шагом dx. F=\begin{cases} & \text{ -a{x}^{3}-b x+c<0 a\neq0}; & \text{\frac{x-a}{x-c} x+c>0 a=0 }; & \text{ \frac{x}{c}+\frac{c}{x} } \end{cases} (x/c+c/x) - в остальных случаях (это функия просто в ряд записана) где a, b и c - действительные числа. подробнее

Показать сообщение отдельно
Denzelrus
0 / 0 / 0
Регистрация: 25.09.2014
Сообщений: 7
20.11.2014, 06:13     Нужно записать две строчки через указатель, не используя адрес
Доброго времени суток, возникли сложности с записью двух строчек в другом виде, а именно с записью через указатель, не используя адрес, без амперсанда.
Код программы:
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
#include <iostream>
#include <iomanip> //setw
#include <cstdlib> // rand
#include <ctime> // time
using namespace std;
 
int sumPos(int a[], int size);
int sumNeg(int *a, int size);
int main() {
    const int N = 2;
    const int M = 14;
    int matr[N][M];
    srand(time(NULL));
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            matr[i][j] = rand() % 100 - 50;
            cout << setw(5) << matr[i][j];
        }
        cout << endl;
    }
    int sumOfPos = 0;
    int sumOfNeg = 0;
    for (int i = 0; i < N; ++i) {
        sumOfPos += sumPos(&matr[i][0], M);
        sumOfNeg += sumNeg(&matr[i][0], M);
    }
    cout << "\nSumma polojitelnyx=" << sumOfPos;
    cout << "\nSumma otrizatelnyx=" << sumOfNeg;
    return 0;
}
 
int sumPos(int a[], int size) {
    int tmpSum = 0;
    for (int i = 0; i < size; ++i)
        if (a[i] > 0)
            tmpSum += a[i];
    return tmpSum;
}
 
int sumNeg(int *a, int size) {
    int tmpSum = 0;
    for (int i = 0; i < size; ++i)
        if (*(a + i) < 0)//Операция получения значения переменной, хранящейся по адресу, полученное в скобках
            tmpSum += *(a + i);
    return tmpSum;
}
Две строчки, которые нужно записать через указатель:
C++
1
2
sumOfPos += sumPos(&matr[i][0], M);
sumOfNeg += sumNeg(&matr[i][0], M);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru