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

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

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

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

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

Если делаю

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

char *a={"Help"};

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

наименьшее значение в массиве поменять с последним элементом в массиве - 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. Найти в массиве и вывести значение наиболее часто встре* чающегося элемента.

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

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

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

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

В массиве d(200) указать номер элемента (со 2 по 199), сумма которого с предыдущим и последующим имеет минимальное значение - C++
помогите пожалуйста.. решить массив, написать по нему программу в C++ и составить её блок-схему В массиве d(200) указать номер элемента...

Найти сумму элементов массива, номер которых больше минимального номера элемента, имеющего максимальное значение в массиве - C++
Помогите,пожалуйста, составить программу. Найти сумму элементов массива, номер которых больше минимального номера элемента, имеющего...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.05.2011, 09:24     Поменять значение элемента в массиве #2
Char * это как бы указатель на константу, которую нельзя изменять.
Пиши
C++
1
char a[]="Help";
char * использовался в более ранних версиях языка c/c++, его оставили, чтобы ранее написанный код был корректным.
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;
}
diagon
Higher
1927 / 1193 / 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, вы изменяется также а
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
21.05.2011, 10:13     Поменять значение элемента в массиве #5
Я показал ИМЕННО то, что планировал.
Biggs
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 52
21.05.2011, 11:14  [ТС]     Поменять значение элемента в массиве #6
Спасибо всем за ответы.
Yandex
Объявления
21.05.2011, 11:14     Поменять значение элемента в массиве
Ответ Создать тему
Опции темы

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