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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
igortim95
Сообщений: n/a
#1

работа с двумерным массивом - C++

24.11.2013, 21:00. Просмотров 147. Ответов 0
Метки нет (Все метки)

Характеристикой столбца прямоугольной матрицы называется количество нулей в нем. Перестроить заданную матрицу, переставляя в ней столбцы так, чтобы значения их характеристик возрастали.
- вывести полученную матрицу;
- найти в ней количество строк, содержащих одинаковые элементы.
Компилируется но работает не верно, в чем проблема разобраться самому не получается(
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int **p, n = 0, sb, sk, buffer = 0, povt = 0, s = 0;
    cout << "vvedite kolvo strok (1 to 20): ";
    cin >> sk;
    while (sk<1, sk>20) { cout << "vvedite kolvo strok (1 to 20): "; cin >> sk; }
    cout << "vvedite kolvo stolbcov (1 to 20): ";
    cin >> sb;
    while (sb<1, sb>20) { cout << "vvedite kolvo stolbcov (1 to 20): "; cin >> sb; }
    p = new int *[sk];
    for (int i = 0; i < sk; i++)
        p[i] = new int[sb];
    for (int i = 0; i < sk; i++)
    {
        for (int j = 0; j < sb; j++)
        {
            cout << "(" << i << "," << j << "): ";
            cin >> p[i][j];
        }
    }
    cout << ": \n";
 
 
    for (int i = 0; i < sk; i++)
    {
        for (int j = 0; j < sb; j++)
            cout << p[i][j] << " ";
        cout << "\n";
    }
    cout << "\n";
    for (int l = 0; l < sb; l++)
    for (int j = 0; j < sb-1; j++)
    {
        int sum = 0, sum1 = 0;
        for (int i = 0; i < sk; i++)
        {
            if ((sum += abs(p[i][j]))<(sum1 += abs(p[i][j + 1])))
            {
                buffer = p[i][j];
                p[i][j] = p[i][j + 1];
                p[i][j + 1] = buffer;
            }
        }
    }
    for (int i = 0; i < sk; i++)
    {
        for (int j = 0; j < sb; j++)
            cout << p[i][j] << " ";
        cout << "\n";
    }
 
    for (int i = 0; i<sk - 1; i++)
    {
        for (int j = 0; j<sb; j++)
        {
            if (p[i][j] == p[i + 1][j])
                povt++;
        }
        if (povt != 0) s++;
    }
    cout << endl << "strok: " << s;
 
    for (int i = 0; i < sk; i++)
        delete[]p[i];
    delete[]p;
    cout << endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 21:00     работа с двумерным массивом
Посмотрите здесь:

C++ Ввести продажи книг за 3 года, пользуясь двумерным массивом
C++ ассоциативный массив map c двумерным массивом
C++ Работа с двумерным массивом - разобрать строку кода
C++ Легкая переделка для использования с двумерным массивом
Создать класс для работы с двумерным массивом вещественных чисел C++
Вывод числа из файла с двумерным массивом, но только один раз C++
Создать класс для работы с двумерным динамическим массивом чисел C++
Создание типа данных схожего с двумерным массивом C++
C++ Функция работы с двумерным массивом
Функции для работы с двумерным массивом: ввод, вывод, транспонирование C++
Создать класс для работы с двумерным массивом целых чисел C++
Работа с динамическим двумерным массивом C++

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

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

Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru