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

Включить массив B как новую строчку матрицы А с сохранением упорядоченности - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ООП "Класс калькулятор - дата" http://www.cyberforum.ru/cpp-beginners/thread1695989.html
Добрый день. Есть такая задачка: Разработать класс калькулятор(с формой) выполняющий операции например: 1) дата1-дата2 = количество дней, недель,месяцев. 2) дата1-месяц=дата2 3) дата1-недель=дата2 и так дале. Как лучше такие операции организовать на форме? Сделать для каждого меню и форму или можно как-то проще и компактней? Спасибо!
C++ Перевести число из 2-ой системы в 10-тичную и наоборот Перевести число из 2-ой системы в 10-тичную и наоборот.(Желательно с алгоритмом)Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1695982.html
C++ Как разбить массив?
Как можно разбить массив, предположим, из 4 чисел, на две части (по два числа в каждой)?
В матрице перемножить элементы первого и второго столбца C++
Помогите написать программу. Задание: В матрице перемножить элементы первого и второго столбца. Если можно, чтобы она была не слишком заумной, а то я не пойму)) :D спасибо большое))
C++ Циклически сдвинуть элементы побочной диагонали матрицы вниз на k позиций http://www.cyberforum.ru/cpp-beginners/thread1695956.html
Только разобрался с одномерным массивом, как уже двумерные.. Help, голова уже едет:wall: Дан символьный массив А, а также целые числа 0<k<N и 0<m<N. Циклически сдвинуть элементы побочной диагонали вниз на k позиций. Затем циклически сдвинуть элементы главной диагонали вверх на m позиций. Определить значение элемента, стоящего на пересечении диагоналей после преобразований массива.
C++ Найти произведение элементов матрицы Дан целочисленный массив C. Найти произведение его элементов. Не пойму какие числа он умножает :( { setlocale(LC_ALL, "rus"); int C; srand(time(NULL)); int i,j,P; cout<<"Исходная матрица:"<<"\n"; for (i=0; i<6; i++) { подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
27.03.2016, 21:44     Включить массив B как новую строчку матрицы А с сохранением упорядоченности
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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    int N=5;
    //cout<<"N=";
    //cin>>N; 
    int M=8;
    //cout<<"M=";
    //cin>>M; 
    int** a=new int*[N+1];
    for(int i=0;i<N;i++)
        a[i]=new int[M];
    for (int i=0; i<N; i++)
        for(int j=0; j<M; j++)
        {
            a[i][j]=rand()%100;
            //cin>>a[i][j];
        }
    cout<<"matrix A before sorting\n";
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
    for(int i=1;i<N;i++)
        for(int j=i;j>0;j--)
        {
            if(a[j-1][0]>a[j][0]) // Сортируем по значениям в 0 столбце
            {
                int* t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
            }
        }
    cout<<"matrix A after sorting\n";
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
 
    int* b=new int[M];
    cout<<"vector b:\n";
    for(int j=0; j<M; j++)
    {
        b[j]=rand()%100;
        //cin>>b[j];
        cout<<b[j]<<"\t";
    }
    cout<<endl; 
    int i=0;
    for ( ; i<N; i++) // ищем куда вставить
        if(a[i][0]>b[0])
            break;
    for (int j=N; j>i; --j) // сдвигаем строки вниз
        a[j]=a[j-1];
    a[i]=b;  // место для b освободилось
 
    N++; // массив стал на 1 строку длиннее
 
    cout<<"matrix A after inserting\n";
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
    for(int i=0;i<N;i++)
        delete[] a[i];
    delete[] a;
    // вектор b удалять не надо - он теперь часть a
    system ("pause");
    return 0;
}
 
Текущее время: 12:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru