Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 23

Разработать класс SqArrayOfInt – двумерный массив целых чисел

25.04.2015, 11:47. Показов 2337. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать класс SqArrayOfInt – двумерный массив целых чисел. Физически данный массив должен состоять из вектора массивов типа ArrayOfInt. Размерность массива задавать в конструкторе. Реализовать метод доступа к элементам массива. Реализовать метод Sum – вычисление суммы чисел в массиве. Метод сортировки массива по возрастанию и по убыванию, метод сравнения двух массивов (==, !=). Метод конкатенации (слияния) двух массивов.

Если решить не возьмется никто поясните хотя-бы, "Физически данный массив должен состоять из вектора массивов типа ArrayOfInt"- что это значит ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2015, 11:47
Ответы с готовыми решениями:

Разработать класс SortedArrayOfInt – упорядоченный массив целых чисел
Разработать класс SortedArrayOfInt – упорядоченный массив целых чисел, наследованный от класса ArrayOfInt. Замечание: сортировку массива...

Разработать класс, моделирующий массив целых чисел и его обработку
Привет. хотелось бы обратиться к тем, кто хорошо разбирается в программировании. у меня вызвала огромные затруднения тема связанная с...

Разработать класс "динамический массив целых чисел" с конструкторами и деструкторами
Динамический одномерный массив целых чисел Базовый класс: Конструкторы: по умолчанию, с параметрами и копирования. Деструктор. ...

6
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
25.04.2015, 12:02
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class ArrayOfInt
{
private:
  int N;
  int *data;
public:
...
};
class SqArrayOfInt
private:
  int M;
  ArrayOfInt  *row;
public:
...
};
0
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 23
25.04.2015, 12:20  [ТС]
Сергей Сергеевич, а полностью прописывать класс ArrayOfInt со всеми его методами и тому подобное?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.04.2015, 12:25
Цитата Сообщение от n0rtan Посмотреть сообщение
Физически данный массив должен состоять из вектора массивов типа ArrayOfInt
1. Создается класс ArrayOfInt. Т.е. массив целых.
2. Создается класс SqArrayOfInt, Т.е. массив из ArrayOfInt.
3. Profit.
P.S. Вся разница м/у пп.1 и 2 в том, что используются разные типы составных элементов.
0
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 23
25.04.2015, 18:23  [ТС]
Почему выводится в одну строку , что не так сделал?
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
#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
class array
{
public:
        array();
        ~array();
         void print();
         void sum(); 
         void sortub();
         void sortvozr();
         int number;
         int numberr;
         int **arr;
 
//private:
 
 
};
 
array::array()
{
 cout << "vvedite razmer massiva: ";
 cin >>number;
 cin >>numberr;
   arr = new int* [number];
   srand(time(NULL));
   
   for (int i=0;i<number;i++)
   {
   arr[i] = new int [numberr];
   }
   
   for (int i=0;i<number;i++)
   {
   for (int j=0;j<numberr;j++)
   {
   arr[i][j]= rand() %10;
   }
   }
}
void array::print()
{
        for(int i=0;i<number;i++) 
        for(int j=0;j<numberr;j++) 
                cout<<arr[i][j]<<" "<<endl;
};
 
array::~array()
{
   for(int i = 0; i < number; i++)
 {
 delete [] arr[i];
 }
 delete [] arr;
}
int main()
{
        array b;
        b.print();
        system("pause");
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.04.2015, 18:42
Лучший ответ Сообщение было отмечено n0rtan как решение

Решение

Цитата Сообщение от n0rtan Посмотреть сообщение
выводится в одну строку
в столбец вообще-то. Сделай так:
C++
1
2
3
4
5
6
7
8
9
10
11
void array::print()
{
   for(int i=0;i<number;i++) 
   {
      for(int j=0;j<numberr;j++) 
      {
            cout<<arr[i][j]<<" ";
      }
      cout <<endl;
   }
}
P.S. Не стоит давать переменным схожие имена типа (number и numberr), лучше назвать их например sizeX, sizeY.
Так же не стоит использовать using namespace std при самописном классе array, т.к. есть стандартный класс std::array, который может конфликтовать с твоим в таком случае.
1
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 23
25.04.2015, 19:11  [ТС]
Реализовать метод Sum – вычисление суммы чисел в массиве. Метод сортировки массива по возрастанию и по убыванию, метод сравнения двух массивов (==, !=). Метод конкатенации (слияния) двух массивов.
метод сортировки массива не понимаю как сделать, и сравнения, слияния

Добавлено через 24 минуты
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
void array::sortub()
{
 for(int k = 0; k < number * numberr; ++k) {
        for(int i = 0; i < number; ++i) {
            for(int j = 0; j < numberr; ++j) {
                if(j != numberr - 1) {  
                    if(arr[i][j+1] < arr[i][j]) {
                        int tmp = arr[i][j+1];
                        arr[i][j+1] = arr[i][j];
                        arr[i][j] = tmp;
                    }
                }
                else {
                    if((arr[i+1][0] < arr[i][j]) && (i != number - 1)) {
                        int tmp = arr[i+1][0];
                        arr[i+1][0] = arr[i][j];
                        arr[i][j] = tmp;
                    }
                }
            }
        }
    }
    
    cout << "Отсортированная матрица: " << endl;
    for(int i = 0; i < number; ++i) {
        for(int j = 0; j < numberr; ++j)
            cout << arr[i][j] << " ";
            
        cout << endl;
    }
 
};
Поправьте что не так с сортировкой.
Программа не завершается, ошибка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.04.2015, 19:11
Помогаю со студенческими работами здесь

Создать класс СПИСОК целых чисел. Разработать класс СТЕК
&quot;Создать класс СПИСОК целых чисел. Разработать класс СТЕК, который вмещает объект класса СПИСОК. Определить необходимые конструкторы,...

Разработать класс для массива целых чисел
1.Разработать класс для массива целых чисел (конструктор для пустого массива и массива, заполненного случайными числами, методы добавления,...

Разработать класс линейного массива из N целых чисел!
Разработать класс линейного массива из N целых чисел (N&gt; 0 - константа). В классе должна быть описана единственное свойство - массив из N...

Разработать класс «множество целых чисел заданной мощности»...
Помогите пожалуйста, нужно полное решение данной задачи! Разработать класс, содержащий набор методов (конструктор и методы позволяют...

Разработать класс (Объект «рациональная дробь, представлен парой целых чисел»)
Составить описание класса. Определить конструктор по умолчанию, конструктор с параметрами и методы класса. Написать программу,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru