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

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

Войти
Регистрация
Восстановить пароль
 
Serzik
-1 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 90
#1

Вставка в начало одномерного массива - C++

26.04.2013, 22:04. Просмотров 392. Ответов 6
Метки нет (Все метки)

Добрый день

Подскажите в чём я не прав при вставке в начало массива
Вставить хочу 2 цифры - 9 в начало а остальное повинуть.

Подскажите что я не так сделал почему не получается.

Динамические массивыб вектора и STL не катит надо тупо в одномерном массиве сделать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mass[20] ={1,2,3,4,5};
for(int i = 0; i<sizeof(mass);i++)
{
if(mass[0]!= 9 && mass[1] != 9)
{
mass[0]= '9';
mass[1] = '9';
for(int j = 2; j<sizeof(mass);j++)
{
mass[i] = mass[j];
j++;
}
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 22:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вставка в начало одномерного массива (C++):

На С++ перенести в начало одномерного массива второй нулевой элемент - C++
Помогите написать программу которая переносит в начало одномерного массива второй нулевой элемент.

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

Вставка в матрицу заданного одномерного массива на k-ю строку - C++
1.Вставка в матрицу заданного одномерного массива на k-ю строку (перезапись в новую матрицу)

Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n). Подсчитать количес - C++
Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n)....

Вставка в начало списка - C++
Народ, поскажите как реализовать вставку в начало списка? текст вставки в конец сделал, а в начало не пойму как! Вот вставка в конец: int...

Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n) - C++
Ребята. Помогите с задачей пожалуйста. Дан массив А(n). Все положительные его элементы поместить в начало массива В(n), а...

6
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
26.04.2013, 22:11 #2
А где же объявление массива и все такое?
0
Serzik
-1 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 90
26.04.2013, 22:15  [ТС] #3
C++
1
int mass[20] ={1,2,3,4,5};
Вас смутило что я инт не поставил перед названием массива?
0
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
26.04.2013, 22:18 #4
Serzik, наверное, сначала стоит подвинуть то,что есть,а потом уже вставлять,а не наоборот,как у Вас
0
UnsKneD
алкокодер
155 / 151 / 12
Регистрация: 27.12.2012
Сообщений: 550
26.04.2013, 22:18 #5
Serzik, вы не правы абсолютно во всё, для начала нужно сдвинуть массив циклически вправо на 1, затем вставить число в начало, затем снова всё сдвинуть.

Цитата Сообщение от Serzik Посмотреть сообщение
mass[20] ={1,2,3,4,5};
Это у вас вроде массив интов,
Цитата Сообщение от Serzik Посмотреть сообщение
mass[0]= '9'; mass[1] = '9';
а здесь вы присваиваете чары, что не есть гуд.

Цитата Сообщение от Serzik Посмотреть сообщение
j<sizeof(mass)
тут вы получили размер массива, но не количество его элементов, для получения количества разделите sizeof(mass) на sizeof(int)
0
Serzik
-1 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 90
26.04.2013, 22:25  [ТС] #6
Немоглибы вы премерно накидать этот сдвиг.

А если я вставлю не на прямую 9 а скажем код девятки из таблицы аски?

C++
1
sizeof(mass)/sizeof(int)
так я найду реальное количество символов в моём массиве?
0
UnsKneD
алкокодер
155 / 151 / 12
Регистрация: 27.12.2012
Сообщений: 550
26.04.2013, 22:36 #7
Цитата Сообщение от Serzik Посмотреть сообщение
А если я вставлю не на прямую 9 а скажем код девятки из таблицы аски?
Тогда всё нормально)
Цитата Сообщение от Serzik Посмотреть сообщение
так я найду реальное количество символов в моём массиве?
Да, но не совсем, например A[14], тогда результат вычисления будет 14
А вот если записать int A[] = {1,0,2,3,4,5}; то результатом будет 6
C++
1
2
3
4
5
6
7
8
9
10
    int A[] = {1,0,2,3,4,5};
    
    for( int i = sizeof(A)/sizeof(int); i>=0; i--){
        A[i+1] = A[i];
    }
    *A = 0;
 
    for( int i = sizeof(A)/sizeof(int); i>=0; i--){
        printf("%d ", A[i]);
    }
1
26.04.2013, 22:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 22:36
Привет! Вот еще темы с ответами:

Вставка элемента в начало односвязного списка - C++
Помогите вставить элемент в начало односвязного списка. Написана функция Insert, но она работает только для вставки в середину и конец...

Функция: вставка в начало очереди нового элемента - C++
Написать Функцию, которая вставляет в начало очереди новый элемент.

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива - C++
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа находились в начале, а отрицательные - в конце...

Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания - C++
Привет. Хочу разобраться в использовании функциий. В функции я хочу найти все отррицательные элементы. А потом просто их вывести. ...


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

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

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