Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322

Подскажите как исправить код

10.08.2017, 12:24. Показов 1655. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача вставить строку после номера введенной строки пользователем
Помогите пожалуйста битый час сижу и всё понять не как не могу
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
46
47
48
49
void Stolbic(int**Ar, int &n, int m,int ind_sr){
    int **temp = new int* [n+1];
    
    for (int i = 0; i < n;i++)
    {
        
        for (int j = 0; j < m; j++){
            if (i < ind_sr)
                temp[i] = Ar[i];
 
            else if (i == ind_sr)
 
                temp[i][j] = rand() % 99;
            else
                temp[i][j] = Ar[i-1][j];
            delete Ar[i];
            Ar[i] = temp;
 
        }
    }
    
}
 
void main()
{
    setlocale(LC_ALL, "");
    srand(time(0));
    int n, m, in = 0;
    cin >> n >> m>>in;
    int ** Ar = new int*[n];
    for (int i = 0; i < n; i++)
    {
        Ar[i] = new int[m];
        for (int j = 0; j < m; j++)
            cout << (Ar[i][j] = rand() % 99) << ' ';
        cout << endl;
    }
    Stolbic(Ar, n, m, in);
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << Ar[i][j]  << ' ';
        cout << endl;
 
    }
 
    system("pause");
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2017, 12:24
Ответы с готовыми решениями:

Подскажите как исправить код
ТЗ: В матрице в строках с отрицательным элементом на главной диагонали найти наибольший элемент строки и минимум среди них Мой...

Подскажите как исправить код
Исправить чтобы дважды не менялось одно и тоже поле #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;windows.h&gt; using namespace...

Вот код, подскажите как исправить ошибку, пожалуйста???
Вот вибивает такие ошибки: 1&gt;c:\users\user\desktop\ооп 6\ооп 6\ооп6.cpp(40) : error C2661: D3:: D3: нет перегруженной функции,...

30
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
10.08.2017, 12:52
А что не получается?
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 12:55  [ТС]
Нечего не получается
Даже не компилируется
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
10.08.2017, 12:56
Давайте лог компилятора.
Я не думаю, что кто то так не глядя начнет помогать.
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 12:57  [ТС]
Ar[i] = temp;
3 IntelliSense: значение типа "int **" нельзя присвоить сущности типа "int *" c:\Users\USER\Documents\Visual Studio
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
10.08.2017, 13:01
В 17 строчке.
C++
1
Ar[i] = temp
Не вникал, что у вас там по замыслу. Надо наверное
так
C++
1
Ar[i] = temp[j]
?
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:05  [ТС]
спасибо прогресс есть но все равно выбивает ошибку
на этапе выполнения
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:07  [ТС]
Вот
Миниатюры
Подскажите как исправить код  
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
10.08.2017, 13:11
Не силен в студии, наверняка перемудрили с памятью. Наверное вылетает на операции delete?
Что у вас там на line 52?

Добавлено через 1 минуту
Поковырял форум. Это чистый вопрос к студии. Тут я пас. Может кто поможет.
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:15  [ТС]
хм возможно я только начала учить динамические двумерные массивы и они еще очень плохо поддаются моему понима

Добавлено через 1 минуту
karat39, ок. спасибо
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
10.08.2017, 13:19
Цитата Сообщение от vfhbf Посмотреть сообщение
Stolbic
как переводится?
C++
1
2
3
4
5
6
7
8
9
10
11
12
void Stolbic(int** &Ar, int &n, int m,int in)
{
    int **temp = new int*[++n];
    int sz=sizeof(int**);
    memmove(temp,Ar,(in+1)*sz);
    memmove(temp+in+2,Ar+in+1,(n-in-2)*sz);
    temp[in+1] = new int[m];
    for (int j = 0; j < m; j++)
        temp[in+1][j] = rand() % 99;
    delete[] Ar;
    Ar=temp;    
}
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:22  [ТС]
MansMI, ой0-йой
int sz=sizeof(int**);
memmove(temp,Ar,(in+1)*sz);
memmove(temp+in+2,Ar+in+1,(n-in-2)*sz);
для меня еще это сильно сложно
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
10.08.2017, 13:26
1. в функцию указатель передаётся по значению, а потом то, на что он указывает - удаляется, а сам он в функции main остаётся ссылаться на то же, что было до этого, но там уже ничего нет.
2. в функции Stolbic создаётся указатель на указатель(temp) и ему выделяется память, а вот указателям, на которые он указывает - нет.
соответственно, получаем UB в квадрате.
3. main должна возвращать int, а не void.
4. в строке 15 используется Ar[i-1], хотя цикл начинается с 0. что произойдёт, если на i = 0 зайдёт в эту ветку?
5. в строке 9 вы присваиваете temp[i] к Ar[i], а затем удаляете Ar[i], при том, что temp[i] так же ссылается на это же место.
6. для массивов надо использовать не delete, а delete [].
0
 Аватар для stzer
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
10.08.2017, 13:33
vfhbf,
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
void Stolbic(int ** &Ar, int &n, int m, int ind_sr)
{
    ++n;
    int **temp = new int*[n];
 
    for (int i = 0; i < n;i++)
    {
        if (i < ind_sr)
        {
            temp[i] = Ar[i];
        }
 
        else if (i == ind_sr)
        {
            temp[i] = new int[m];
            for (int j = 0; j < m; j++)
                temp[i][j] = rand() % 99;
        }
 
        else
        {
            temp[i] = Ar[i-1];
        }
    }
 
    Ar = temp;
}
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:34  [ТС]
GbaLog-,
Не могли бы теперь помочь исправить?
Был бы одномерный массив, то все было бы просто, а с двумерным ума не приложу, как все реализовать
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:41  [ТС]
stzer, работает но не совсем правильно
Миниатюры
Подскажите как исправить код  
0
 Аватар для stzer
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
10.08.2017, 13:41
Перед
C++
1
 Ar = temp;
еще нужен
C++
1
 delete [] Ar;
0
 Аватар для stzer
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
10.08.2017, 13:45
vfhbf,
Миниатюры
Подскажите как исправить код  
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
10.08.2017, 13:45  [ТС]
stzer,
выбивает ошибку и в меине стрелка на выводе массива
Миниатюры
Подскажите как исправить код  
0
 Аватар для stzer
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
10.08.2017, 13:48
vfhbf, скопируйте сюда весь код, который запускаете
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2017, 13:48
Помогаю со студенческими работами здесь

Посмотрите код, подскажите что исправить
Вот 4 дня назад начал изучать C++ Учительница по информатике дала задачу: Вводятся 3 числа. Если положительное - возвести во 2...

Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить )
Здравствуйте , Задача стояла реализовать мультисписковую структуру на базе массива бестиповых указателей. Структура примерно выглядит...

ошибка подскажите как исправить!!
1&gt;d:\calcu\calcu\Form1.h(343): error C3861: strtoint32: идентификатор не найден int a; int b; a =...

Подскажите как исправить ошибку
Мужики, программы пишу на Dev-C++ И при любой программе выдаёт ошибку,как исправить это?

Подскажите как исправить ошибку
писал программу по заданию и не могу понять где ошибка но у меня она решает не правильно Сформировать одномерный массив из целых чисел....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru