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

Добавление строки или столбца в матрицу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить с m по n символов, перезаписать строку и показать ее на экран http://www.cyberforum.ru/cpp-beginners/thread124536.html
1. Пользователь вводит строку с клавиатуры в фиксированный массив. Необходимо проверить, cколько элементов массива теперь занято и сколько свободно. 2. Показать на экран с m по n символов строки,...
C++ поменять вершины плиз, помогите, с прогой :( надо каждую вершину с четным номером поменять местами с сыном, имеющим четный номер. вообще без понятия, как делать :( http://www.cyberforum.ru/cpp-beginners/thread124535.html
C++ Через указатели на указатели посчитать сумму двух чисел и записать в третье
1. Через указатели на указатели посчитать сумму двух чисел и записать в третье. 2. Написать примитивный калькулятор, пользуясь только указателями. 3. Найти факториал числа, пользуясь только...
C++ Проектирование и разработка автоматизированной системы
Помогите придумать решение єтой задачи тут нужно проявить фантазию, а у меня фантазия отсутствует! --------------------------------- Проектирование и разработка автоматизированной системы...
C++ Подскажите с чего начать http://www.cyberforum.ru/cpp-beginners/thread124494.html
Вот условия: Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы • номер группы • успеваемость (массив из пяти элементов) Написать программу, выполняющую...
C++ Перевод в 8-ую систему Вообщем проблема такая(( Нужно написать программу перевода многоразрядного числа в восьмеричную систему. Многоразрядное число основано на двунаправленном динамическом списке...Сам вывод числа... подробнее

Показать сообщение отдельно
Ruzhin
15 / 15 / 3
Регистрация: 18.01.2013
Сообщений: 17
07.03.2013, 18:25
1.
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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#include <iostream>
#include <Windows.h>
#include <ctime>
#include <stdlib.h>
 
using namespace std;
 
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    srand(time(NULL));
    
    int row, col;
    
    do
    {
    cout <<"Введите количество строк" <<endl;   
    cin >>row;
    }
    while (row <= 0);
 
    do
    {
    cout <<"\nВведите количество столбцов" <<endl;  
    cin >>col;
    }
    while (col <= 0);
 
    cout <<"\n";
    //создаем двумерный динамический массив размером row x col
 
    int **p;
    p=new int*[row+1];
    for (int i=0; i<row; i++)
    {
        p[i]=new int [col+1];
    }
 
    //заполним массив случайным образом и выведем его на экран
 
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
        {
            p[i][j]=rand()%10;
            cout <<p[i][j] <<" ";
        }
        cout <<endl;
    }
 
    int vibor;
    do
    {
    cout <<"\nЧто будем добавлять? нажмите 0 если строку или 1 если столбец" <<endl;
    
    cin >>vibor;
    }
    while (vibor<0 ||vibor>1);
 
    if (vibor==0)
    {
        int nomer_stroki;
        do
        {
        cout <<"\nВведите номер строки ниже которой добавится строка заполненная случайными числами (нумерация строк с 1)" <<endl;      
        cin >>nomer_stroki;
        }
        while (nomer_stroki<=0);
 
        
        int **q;
        q=new int*[row+1];
        for (int i=0; i<row+1; i++)
        {
            q[i]=new int [col];
        }
 
        for (int i=0; i<nomer_stroki; i++)
        {
            for (int j=0; j<col; j++)
            {
                q[i][j]=p[i][j];
                cout <<q[i][j] <<" ";
            }
            cout <<endl;
        }
 
        for (int i=nomer_stroki; ;)
        {
            for (int j=0; j<col; j++)
            {
                q[i][j]=rand()%10;
                cout <<q[i][j] <<" ";
            }
            cout <<endl;
            break;
        }
 
        for (int i=nomer_stroki; i<row+1; i++)
        {
            for (int j=0; j<col; j++)
            {
                q[i][j]=p[i][j];
                cout <<q[i][j] <<" ";
            }
            cout <<endl;
        }
 
            
        for (int i=0; i<row+1; i++)
        {
            delete[]q[i];
        }
        delete[]q;
    }
    
    else
    {
        int nomer_stolba;
        do
        {
        cout <<"\nВведите номер столбца справа от которого добавится столбец заполненный случайными числами (нумерация столбцов с 1)" <<endl;       
        cin >>nomer_stolba;
        cout <<"\n";
        }
        while (nomer_stolba<=0);
 
        int **q;
        q=new int * [row];
        for (int i=0; i<row; i++)
        {
            q[i]=new int [col+1];
        }
 
        
        int i=0;
        int j;
        do
        {
        for (j=0; j<nomer_stolba; j++)
        {
            q[i][j]=p[i][j];
            cout <<q[i][j] <<" ";
        }
 
        j=nomer_stolba;
 
        q[i][j]=rand()%10;
        cout <<q[i][j] <<" ";
 
        for (j=nomer_stolba+1; j<col+1; j++)
        {
            q[i][j]=p[i][j-1];
            cout <<q[i][j] <<" ";
        }
        i++;
        cout <<endl;
 
        }
        while (i<row);
 
        for (int i=0; i<row+1; i++)
        {
            delete[]q[i];
        }
        delete[]q;
        
    }
 
    for (int i=0; i<row; i++)
        {
            delete[]p[i];
        }
        delete[]p;
 
 
}
4
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru