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

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

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

Показать сообщение отдельно
madfax
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 15
02.07.2016, 14:26     Добавление строки или столбца в матрицу
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
#include <iostream>
 
using::std::endl;
using::std::cout;
using::std::cin;
 
void show_ar(int **, int, int);
int **row_add(int **, int &, int, int);
int **col_add(int **, int, int &, int);
 
void main(){
 
    int R = 3, C = 3;
    int **ar = new int*[R];
    for (int i = 0; i < R; i++) ar[i] = new int[C]{1, 1, 1};
    //initializing: [C]{1,1,1}
 
    char answer;
    do{
        cout << " insert row[ r ]  col[ c ]  : ";
        cin >> answer;
    } while (answer != 'r' && answer != 'c');
 
    unsigned int p;
    if (answer == 'r'){
 
        do{
            cout << " enter position (0 ~ R) : ";
            cin >> p;
        } while (p > R);
 
        ar = row_add(ar, R, C, p);
    }
    else{
 
        do{
            cout << " enter position (0 ~ C) : ";
            cin >> p;
        } while (p > C);
 
        ar = col_add(ar, R, C, p);
    }
 
    show_ar(ar, R, C);
 
    for (int i = 0; i < R; i++) delete[] ar[i];
    delete[] ar;
}
 
void show_ar(int **a, int r, int c){
    for (int i = 0; i < r; i++){
        cout << endl << endl;
 
        for (int j = 0; j < c; j++)
            cout << a[i][j] << "\t";
    }
}
 
int **row_add(int **ar, int &R, int C, int pos){
    R++;
    int **new_ar = new int*[R];
    for (int i = 0; i < R; i++) new_ar[i] = new int[C];
 
    for (int i = 0, ti = 0; i<R; i++){
        for (int j = 0; j < C; j++)
 
        if (i == pos)   new_ar[i][j] = 0;
        else            new_ar[i][j] = ar[ti][j];
 
        if (i != pos) ti++;
    }
 
    for (int i = 0; i < (R - 1); i++) delete[] ar[i];
    delete[] ar;
    ar = NULL;
 
    return new_ar;
}
 
int **col_add(int **ar, int R, int &C, int pos){
    C++;
    int **new_ar = new int*[R];
    for (int i = 0; i < R; i++) new_ar[i] = new int[C];
 
    for (int i = 0; i < R; i++)
    for (int j = 0, tj = 0; j < C; j++){
 
        if (j == pos)   new_ar[i][j] = 0;
        else            new_ar[i][j] = ar[i][tj];
 
        if (j != pos) tj++;
    }
 
    for (int i = 0; i < R; i++) delete[] ar[i];
    delete[] ar;
    ar = NULL;
 
    return new_ar;
}
 
Текущее время: 17:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru