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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Biggs
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 52
#1

Поменять значение элемента в массиве - C++

21.05.2011, 09:18. Просмотров 1753. Ответов 5
Метки нет (Все метки)

Если делаю

char a[]={"Help"};
a[0]='S';
то все нормально, однако если массив задан

char *a={"Help"};

тогда,- a[0]='S'; не проходит (говорит доступ запрещен) - - почему ? И что делать ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 09:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять значение элемента в массиве (C++):

наименьшее значение в массиве поменять с последним элементом в массиве - C++
В массиве C из N элементов найти элемент, имеющий наименьшее значение и поменять его местами с последним элементом. Значение N задать при...

Поменять местами два элемента в массиве - C++
Добрый вечер. Такой вопрос. Как в двумерном массиве поменять два элемента. Первый элемент задаётся пользователем, а второй рядом стоящий...

Как в массиве поменять местами значение? - C++
#include <iostream> using namespace std; //прототипы int fill_array(double * arr, int b); void revers_array(double * arr, int...

Обработка матрицы ( среднее значение произведения элемента, поменять местами соответствующие элементы) - C++
в любой матрице написать программу которая находит: -(1) среднее значение произведения элемента и его соседей по столбцам ; -(2)...

Найти в массиве и вывести значение наиболее часто встречающегося элемента - C++
Здравствуйте вы мне можете помочь? вот условие задачи, её надо сделать на С.... заранее благоларю... 1. Найти в массиве и вывести...

Найти в массиве и вывести значение наиболее часто встречающегося элемента. - C++
ПАцаны помогите, попадаю... отблагадарю... 1. Найти в массиве и вывести значение наиболее часто встре* чающегося элемента.

5
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.05.2011, 09:24 #2
Char * это как бы указатель на константу, которую нельзя изменять.
Пиши
C++
1
char a[]="Help";
char * использовался в более ранних версиях языка c/c++, его оставили, чтобы ранее написанный код был корректным.
0
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
21.05.2011, 10:03 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    char a[]={"Help"};
    char *b=a;
    b[0]='S';
    printf("%s->%s\n", a,b);
    system("pause");
 
    return 0;
}
0
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.05.2011, 10:10 #4
Цитата Сообщение от lamed Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    char a[]={"Help"};
    char *b=a;
    b[0]='S';
    printf("%s->%s\n", a,b);
    system("pause");
 
    return 0;
}
Если вы хотели, чтобы на выводе получилось
Код
Help->Selp
То немного ошиблись=)
Эти строки в одной ячейке памяти находятся, изменяя b, вы изменяется также а
0
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
21.05.2011, 10:13 #5
Я показал ИМЕННО то, что планировал.
0
Biggs
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 52
21.05.2011, 11:14  [ТС] #6
Спасибо всем за ответы.
0
21.05.2011, 11:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 11:14
Привет! Вот еще темы с ответами:

Найти максимальное значение элемента на промежутке [a; b] в динамическом массиве. Классы С++ - C++
найти максимальное значение элемента на промежутке в динамическом массиве. Классы. Посмотрите пожалуйста код, что не так? Вообщем я...

Определить индекс и значение максимального элемента в массиве через ссылку - C++
Здравствуйте, помогите, пожалуйста: Программа запрашивает у пользователя размер массива, выделяет память из кучи и заполняет числами от 0...

дана матрица А(5,5). Каждый минимальный элемент строки поменять на максимальное значение элемента, побочной диагонали - C++
дана матрица А(5,5). Каждый минимальный элемент строки поменять на максимальное значение элемента, побочной диагонали.

В заданном массиве двоичных чисел увеличить значение каждого элемента на двоичное число 1010 - C++
2. В заданном массиве двоичных чисел увеличить значение каждого элемента на двоичное число 1010.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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