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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
#1

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

26.09.2012, 12:49. Просмотров 1717. Ответов 4
Метки нет (Все метки)

Всем добрый день. Не могу понять как поменять символ в через указатель на массив строк?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char *labPtr[12]={"############",
                  "#...#......#",
                  "..#.#.####.#",
                  "###.#....#.#",
                  "#....###.#..",
                  "####.#.#.#.#",
                  "#..#.#.#.#.#",
                  "##.#.#.#.#.#",
                  "#........#.#",
                  "######.###.#",
                  "#......#...#",
                  "############"};
 
*(labPtr[2])='2';
cout<<*(labPtr[2]);
По идее тут точка в 3 строке меняется на 2, но программа не работает. В чем подвох?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 12:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос указатель на массив строк (C++):

Используя указатель рассортировать массив строк в алфавитном порядке - C++
Используя указатель рассортировать массив строк в алфавитном порядке. Может знает кто?

Используя указатель рассортировать массив строк в алфавитном порядке - C++
Доброй ночи, ребят! необходимо используя указатель рассортировать массив строк в алфавитном порядке. что-то делать пыталась, но...

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. - C++
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Условие:Реализовать 3 функции, каждая из которых принимает указатель на...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) - C++
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

Динамический массив и указатель на указатель - C++
Спасибо за внимание) Задача такова: нужно удалить элемент по индексу, при этом уменьшить сам массив на 1 (т.е. удалили элемент - уменьшился...

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
26.09.2012, 12:52 #2
По идее, ты третьему указателю на строку пытаешься присвоить символ '2'

надо как-то так
C++
1
labPtr[2][0] = '2';
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
26.09.2012, 12:58  [ТС] #3
Так тоже не работает.
Насколько я понял с указателями,
C++
1
labPtr[2]
Это указатель на первый символ в 3 строке.
Соотвественно разыменовывая его, я получаю первый символ в 3 строке и присваиваю ему другой.
remarkes
302 / 225 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
26.09.2012, 13:18 #4
Цитата Сообщение от Peperovich Посмотреть сообщение
Так тоже не работает.
потому что ты объявил указатель на константы, соответственно изменить ты их не можешь (они только для чтения).
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int main(int argc, char **argv)
{
    char labPtr[12][12] =
        {"############",
        "#.x.#......#",
        "..#.#.####.#",
        "###.#....#.#",
        "#....###.#..",
        "####.#.#.#.#",
        "#..#.#.#.#.#",
        "##.#.#.#.#.#",
        "#........#.#",
        "######.###.#",
        "#......#...#",
        "############"};
 
    printf("%c\n", labPtr[1][2]);
    labPtr[1][2] = 'y';
    printf("%c\n", labPtr[1][2]);
    return 0;
}
меняет символ икс из массива на игрек
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
26.09.2012, 13:23  [ТС] #5
Цитата Сообщение от remarkes Посмотреть сообщение
потому что ты объявил указатель на константы, соответственно изменить ты их не можешь (они только для чтения).
А почему константы они, вроде как объявление на константные данные будет таким.
C++
1
const char *sPtr
Или это изза того, что я инициализировал в вместе с обьявлением?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 13:23
Привет! Вот еще темы с ответами:

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

Что быстрее использовать, массив э-в, или указатель на массив э-в? - C++
уважаемые, что быстрее использовать, массив э-в, или указатель на массив э-в? или без разницы? С одной стороны обращается все к той же...

Создание функции инициализации двумерного массива строк через указатель - C++
Здравствуйте,имеется двумерный массив: in_data_up=_T(&quot;00&quot;); in_data_up=_T(&quot;01&quot;); ...

Указатель на массив - C++
Подскажите пожалуйста, как создать указатель на массив, если длина массива записана в переменной? Т.е проблема в том что в квадратных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.09.2012, 13:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru