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

Добавить строку в указанное положение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оператор for: вычислить произведение ряда http://www.cyberforum.ru/cpp-beginners/thread677950.html
С помощью оператора for вычислить величину (1-1/n)*(2-1/(n-1))*(3-1/(n-2))*...*(n-1/1)
C++ Машина Тьюринга. Перенос нуля. Реализировать на С++ Приветствую! Я в С++ очень плохо разбираюсь, но нужна программа... Буду рад всем откликнувшимся. http://www.cyberforum.ru/cpp-beginners/thread677941.html
шейкерная сортировка + сортировка слиянием C++
вот часть когда,которая выполняет шейкерную сортировку : для символьного и целочисленого массива . // ConsoleApplication15.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include<iostream> #include<conio.h> #pragma hdrstop using namespace std;
C++ Использование библиотеки bass и примеры кода
Мне очень нннада хотя бы консольный примерчик использования bass'a, по поисковику уже 2 месяца роюсь, ничего не понятно ( еще лучше, если в Windows Forms, если что, то я пишу в Visual C++ 10
C++ Преобразовать массив, увеличив его последнию серию найбольшей длинны на один элемент http://www.cyberforum.ru/cpp-beginners/thread677881.html
Дан целочисленный массив размера N преобразовать массив увеличив его последнию серию найбольшей длинны на один элемент.
C++ Найти и исправить ошибки в приведенном коде //#include <stdafx.h> #include <iostream> #include <math.h> using namespace std; void main () { setlocale (LC_ALL, "Russian"); system ("color 70"); подробнее

Показать сообщение отдельно
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
22.10.2012, 23:34     Добавить строку в указанное положение
Помогите найти ошибку... Программа должна добавить строку в указанное положение и если необходимо сместить старую... Строка добавляется но старая уждаляеться и переносится в самый конецт .... Результат выполения

Добавить строку в указанное положение

C++ (Qt)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream> 
#include <time.h>
#include <stdlib.h>
 
using namespace std; 
 
void print(int **arr, int nrow, int ncol) 
{ 
    for(int i = 0; i < nrow; i++)
    {
        for(int j = 0; j < ncol; j++)
            cout << arr[i][j] << "\t";
        cout << endl;
    }
}
 
 
int main()
{   
    srand(unsigned (time(NULL)));
    int nrow, ncol, n1 = 0, n2 = 0;
    int i, j, i2, j2;
    int position;
        
    cout << "Enter amount row: ";
    cin >> nrow;
    cout << endl << "Enter amount column: ";
    cin >> ncol;
        
    // Объявляется переменная типа "указатель на указатель на int"
    // и выделяется память под массив указателей на строки массива
    int **arr = new int*[nrow]; 
    //Цикл выделяет память под каждую строку массива 
    for (i = 0; i < nrow; i++)
    //Каждому элементу массива указателей на строки присваевается адресс начала участка памяти
    arr[i] = new int [ncol];
 
    
 
    cout << "Fill in array: " << endl << "1. Auto" << endl << "2. Manual" << endl << "Make your choice: ";
    cin >> n1;
 
        switch(n1)
            {
                case 1:
                    for(int i = 0; i < nrow; i++)
                        for(int j = 0; j < ncol; j++)
                            arr[i][j] = rand()%100;
                    cout << endl << "Generated array: " << endl;
                    print(arr, nrow, ncol);
                    break;
                
                case 2:
                    cout << endl << "Enter elements array: " ;
                        for(int i = 0; i < nrow; i++)
                            for(int j = 0; j < ncol; j++)
                                cin >> arr[i][j];
                    cout << "Your array: " << endl;
                    print(arr, nrow, ncol);
                    break;
                
                default :
                    cout << "Your choice is not correct" << endl;
                    break;
            }
 
 
        
        cout << "What is parametr add in array?" << endl << "1. Row" << endl << "2. Column" << endl <<  "Make your choice: ";
        cin >> n2;
 
//ОШИБКА ГДЕТО ТУТ( ВОПРОС ТОК ГДЕ?
 
 
        if (n2 == 1)
            {
                int **parr = new int*[nrow + 1];
                for (i = 0; i < nrow + 1; i++)
                parr[i] = new int [ncol];
 
                cout << "What is position choice for row" << " (max position = " << nrow + 1 <<"): ";
                cin >> position;
                --position;
                for (i = 0, i2 = 0; i < nrow; i++, i2++)
                {
                    for (j = 0, j2 = 0; j < ncol; j++, j2++)
                        {
                            if (i == position)
                                {
                                    for(int k = 0; k < nrow + 1; k++)
                                        parr[position][k] = 1;
                                }
                            else 
                                {
                                    parr[i2][j2] = arr[i][j];
                                }
                        }
                }
 
        
             //вывод на экран нового массива
             for (i = 0; i < nrow + 1; i++)
             {
                 for (j = 0; j < ncol; j++)
                 {
                     cout<<parr[i][j]<<"\t";
                 }
                 cout<<"\n";
             }
             
             for (int i = 0; i < nrow + 1; i++) 
                delete[]parr[i];
                delete[]parr;
        }
    
    for (int i = 0; i < nrow; i++) 
            delete[]arr[i];
        delete[]arr;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru