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

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

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

Показать сообщение отдельно
abit
271 / 270 / 34
Регистрация: 03.02.2013
Сообщений: 754
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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru