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

Указатель на массив символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возникает "прекращение работы программы" http://www.cyberforum.ru/cpp-beginners/thread781545.html
Здравствуйте. Задание: дана матрица, упорядочить каждую строку матрицы по возрастанию абсолютных величин методом пузырька. При некоторых значениях строк и столбцов почему-то возникает прекращение работы программы и она не до конца все выводит. Например при 3 строках и 5 столбцах не выводится кол-во сравнений и вылезает это окно, а например при 10 строках и 9 столбцах все работает отлично. В...
C++ Задача про год Есть такая задача. Дано число k (от 1 до 365). присвоить значение n (от 0 до 6) в зависимости от того, на какой день недели приходиться k-тый день года, учитывая то, что 1 января понедельник. Я сначала подумал что можно сделать через остаток от деления. Но это будет работать до 3 января. Намекните какими способами можно ее сделать. Добавлено через 12 минут Например 3 число и все числа с... http://www.cyberforum.ru/cpp-beginners/thread781540.html
C++ Знакомство с наследованием. Вызов конструктора базового класса
В инете немного почиатл про наследование и решил сразу перейти к практике Есть два класа point и apoint вот хидер #ifndef POINT_H_INCLUDED #define POINT_H_INCLUDED class point { public: point(int x, int y);
Нумерация страниц C++
Для нумерации M страниц книги использовали N цифр. По заданному N вывести M или 0, если решения не существует. Нумерация начинается с первой страницы. Входные данные: Единственное число N. В книге не более 1001 страницы. Выходные данные: Искомое количество страниц. Пример входных данных: 27 Пример выходных данных: 18 Помогите решить пожалуйста, чтобы было не сильно замудрино...
C++ Задача на "закрашивание" некоторых элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread781512.html
Имеется матрица чисел 0 и 1 - это некое изображение 0 - белый 1 - черный цвета. Если единицы образуют собой какую нибудь замкнутую область то все нули внутри этой области "закрасить" еденицой. Например имеется матрица 10 на 4: 0 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0
C++ немного об указателях есть код: #include <iostream> #include <windows.h> using namespace std; int main() { int inta=1234; int *intb=&inta; подробнее

Показать сообщение отдельно
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
08.02.2013, 02:53     Указатель на массив символов
Цитата Сообщение от psdmaster Посмотреть сообщение
Тогда как массив описать как переменный?
я кстати всё это время думал над этой задачей...

оказалось всё сложнее, чем я сперва прикинул...

вот что у меня получилось

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
#include <iostream>
 
void putX(int x, int y, char ** mass)
{
    if ((*mass)[y*3 + x] == ' ') {(*mass)[y*3 + x] = 'X';}
}
 
int main()
{
        char *m = new char[9];
        m[0] = ' ';
 
        char mass[9] = {' '};
        int x = 0, y = 0;
 
        std::clog << "Mark -1" << std::endl;
 
        putX(x, y, &m);
 
 
        std::clog << "Mark 0" << std::endl;
 
        if (mass[y*3 + x] == ' ') {mass[y*3 + x] = 'X';}
        //putX(x, y, (char**) &mass);
 
 
        std::clog << "Mark 1" << std::endl;
 
        std::cout << mass[0];
        return 0;
}
Вот так все работает как ожидалось

но это ещё не конец ))) я ещё думаю

Добавлено через 1 час 1 минуту
всё... дошло)))
вот решение
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
#include <iostream>
#include <cstdio>
 
void putX(int x, int y, char ** mass)
{
        if ((*mass)[y*3 + x] == ' ') {(*mass)[y*3 + x] = 'X';}
}
 
int main()
{
        char mass[9] = {' '};
        int x = 0, y = 0;
        printf("%p  %p\n", mass, &mass);
 
        std::clog << "Mark 0" << std::endl;
 
        char *pm = (char *)mass;
        putX(x, y, & pm);
 
        std::clog << "Mark 1" << std::endl;
 
        std::cout << mass[0] << std::endl;
        return 0;
}
 
Текущее время: 10:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru