Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130

почему не добавляет элемент?

01.06.2013, 01:13. Показов 876. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
insert() должен добавить один элемент,но он неправильно работает,где ошибка?
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "stdafx.h"
#include <iostream>
using namespace std;
void Insert(const int index,const int value,int * arr,const int size);
int _tmain(int argc, _TCHAR* argv[])
{
    int * arr=new int[10];
    for(int i=0;i<10;i++)
    {
        arr[i]=i;
        cout<<arr[i]<<'\t';
    }
    cout<<endl;
    Insert(2,21,arr,10);
    for(int i=0;i<10;i++)
    {
        cout<<arr[i]<<'\t';
    }
    return 0;
}
void Insert(const int index,const int value,int * arr,const int size)
{
    int *p_arr=new int[size];
    for(int i=0;i<size;i++)
    {
        p_arr[i]=arr[i];
    }
    arr=new int[size+1];
    int j=0;
    int i=0;
    while(i<=size)
    {
        if(i!=index)
        {
            arr[i]=p_arr[j];
            j++;
        }
        else
        { 
           arr[i]=value;
        }
        i++;
        
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2013, 01:13
Ответы с готовыми решениями:

Push_back() не добавляет элемент
Помогите, нужно побыстрее сделать, а голова не варит... Где ошибка? Спасибо StorageComponent temp; ...

Почему не добавляет?
procedure TForm39.btn1Click(Sender: TObject); var zap:string; num:string; begin num:=inttostr(form40.tbl1.RecordCount+1); ...

Почему не добавляет?
INSER INTO pages SET title='Администрирование сайта', TitleType='dx', url='/';

8
 Аватар для Olivеr
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
01.06.2013, 01:33
что вы хотели сделать в той функции - вообще не понятно
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
32
33
34
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int* Insert(const int index, const int value, const int *arr, const int size);
 
int _tmain(int argc, _TCHAR* argv[])
{
    int * arr = new int[10];
    for(int i = 0; i != 10; ++i) {
        arr[i] = i;
        cout << arr[i] << ' ';
    }
    cout << endl;
    arr = Insert(2, 21, arr, 10);
    for(int i = 0; i != 11; ++i) {
        cout << arr[i] << ' ';
    }
    delete[] arr;
    return 0;
}
 
int* Insert(const int index, const int value, const int *arr, const int size)
{
    int *p_arr=new int[size + 1];
    for(int i = 0; i != index; ++i)
            p_arr[i] = arr[i];
    p_arr[index] = value;
    for (int i = index + 1; i != size + 1; ++i)
        p_arr[i] = arr[i - 1];
    delete[] arr;
    return p_arr;
}
1
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
01.06.2013, 09:11  [ТС]
Olivеr,Что делает эта строка?
C++
1
2
for (int i = index + 1; i != size + 1; ++i)
        p_arr[i] = arr[i - 1];
уже все понятно,спасибо большое
0
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
01.06.2013, 18:11  [ТС]
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
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
 
void Insert(const int index,const int value,int * m_pArr,int m_size);
 
int main()
{
    int arr[5]={2,7,4,3,5};
    for(int i=0;i<5;i++)
    {
        cout<<arr[i]<<'\t';
    }
    cout<<endl;
    Insert(2,21,arr,5);
    for(int i=0;i<5;i++)
    {
        cout<<arr[i]<<'\t';
    }
    cout<<endl;
   return 0;
}  
void Insert(const int index,const int value,int * m_pArr,int m_size)
{
    int* p=new int[m_size];
    for(int i=0;i!=m_size;i++)
    {
        p[i]=m_pArr[i];
    }
    m_pArr=new int[m_size+1];
    for(int i=0;i!=index;++i)
    {
        m_pArr[i]=p[i];
    }
    m_pArr[index]=value;
    for(int i=index+1;i!=m_size+1;++i)
    {
        m_pArr[i]=p[i-1];
    }
    
        
}
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
01.06.2013, 18:19
А как Вы узнаете, что он не добавляет?

Добавлено через 12 секунд
Вы же выводите только исходный массив
1
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
01.06.2013, 18:22  [ТС]
Croessmah, ну я же в исходном массиве добавляю элемент, m_pArr исходный массив,я же передаю по указателю
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
01.06.2013, 18:27
Цитата Сообщение от Mar-12 Посмотреть сообщение
ну я же в исходном массиве добавляю элемент
Фокус:
C++
1
2
3
4
5
6
void Insert(const int index,const int value,int * m_pArr,int m_size)
{
//...
m_pArr=new int[m_size+1];
//...
}
1
 Аватар для Mar-12
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
01.06.2013, 18:29  [ТС]
Croessmah, а тогда как сделать чтобы в исходном массиве место стало больше на один элемент?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
01.06.2013, 18:35
Цитата Сообщение от Mar-12 Посмотреть сообщение
чтобы в исходном массиве место стало больше на один элемент?
Никак.
C++
1
int arr[5]={2,7,4,3,5};
место под такой массив выделяется на этапе компиляции.

Можно сделать массив сразу большего размера, а можно выделить его в куче
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2013, 18:35
Помогаю со студенческими работами здесь

Почему не добавляет фрагменты?
Добрый вечер народ. Голову ломаю не могу понять в чем дело. Подскажите плз. Объявил фрагменты private val listMainFragments...

Почему добавляет пустые строки в бд?
значит нажимаю на кнопку на главной, и оно мне сразу добавляет пустую строку, что не так? index.php &lt;?php ...

Почему данный запрос не добавляет данные в БД?
Почему данный запрос не добавляет данные в БД? Есть ли здесь ошибка? Есть две таблицы лежащие в одной бд. Для одной запрос выполняется...

Почему printf добавляет символы в выводе?
Программа меняет соседние буквы в словах. Ниже код, не знаю где ошибка. Вывожу слова с помощью printf. То в конце слова прибавляет...

Почему данный запрос не добавляет данные в БД
Почему данный запрос не добавляет данные в БД? Есть ли здесь ошибка? $query =&quot; INSERT INTO calendar (id,contry, Name, FactNumber,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru