1

Тема: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

// курсова 1.3.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h" 
#include<iostream> //
#include<locale>
#include<math.h>
#include<iomanip> // підключає різні маніпулятори
#include<time.h> // бібліотека часу (для rand)
#include <fstream> // Запис у файл

using namespace std;
int main()
{
    void insertionSort(int *, int); // прототип функции сортировки вставками
    void sort_hor();
    setlocale(LC_ALL, "ukr");
    //i рядки
    //J СТОВПЦІ
    int row, column, y,i,j,sum=0;
    int min = 1000,max=-1000;
    int **array;

    cout << "Введiть розмір квадратної матрицi\n";
    cin >> y;
    row = y ;
    column = y;
    cout << "Введіть мінімальне  значення допустимих чисел матриці";
    cin >> min;
    cout << "Введіть максимальне  значення допустимих чисел матриці";
    cin >> max;
    system("pause");
    cout << "Матриця з розміром [" << y << "]" << setw(3) << "[" << y << "]" << "   в дiапазоні чисел від " << min << ".." << max << endl;
    if (max <= min) {
        cout << "Введено невiрний дiапазон чисел!" << endl;
        return 0;
    }
    
    //iніціалізація масиву
    array = new int *[row];
    for (int i = 1; i <= row; i++) {
        array[i] = new int[column];
    }



    if (y <= 0) {
        cout << "неправильно задана матриця";
    }
    else
    {
        cout << "\n\n";
        for (i = 1; i <= row; i++) {
            for (j = 1; j <= column; j++) {
                array[i][j] = min + (rand()%(max - min));
                cout << setw(4)<<right<<array[i][j] ;
            }
            cout << endl;
        }
}
    //Запис матриці у файл
    ofstream ffile("First matrix.txt", ios::trunc | ios::out);
    for (int i = 1; i <= row; i++) {
        for (int j = 1; j <= column; j++) {
            ffile << array[i][j] << setw(4);
        }
        ffile << '\n';
    }
    ffile.close();
    cout << "\nМатрицю успiшно записано у файл \"First matrix.txt\"!\n" << endl;

    //Добуток элементов побочной диагонали(диагонали противоположной главной)
    //N-кількість рядків
    //M-кількість стовпців
    // Знаходження добутку.
    unsigned long     int dob = 1;
    cout << "Добуток по побічній діагоналі становить" << endl;
    cout << "dob=";
            for (int j = column,i=1;i<=row, j >0;i++ ,j--) {
                dob*=array[i][j];
                cout << "*" << array[i][j];
        }
cout << "=" << dob;
cout << "Cума становить" << endl;
cout << "sum=";
for (i = 1; i <= row; i++) {
    for (j = 1; j <= column; j++) {
        sum += array[i][j];
    }
}
cout << "=" << sum;
int seredne_znachenia;
seredne_znachenia =sum/(row*column);
cout << "\nСереднє значення становить:" << seredne_znachenia;


   
cout << "\n";


    system("pause");
    return 0;
}
void insertionSort(int *array, int row, int column  ){ // сортировка вставками
    int temp; // временная переменная для хранения значения элемента сортируемого массива
    int    item; // индекс предыдущего элемента
    for(int i=1;i<=row;i++){
        for (int j = 1; j <= column; j++) {
            temp = array[i][j];    // инициализируем временную переменную текущим значением элемента массив
    int item = j - 1;      // запоминаем индекс предыдущего элемента массива    
    while (item >= 0 && array[i][item] > temp) // пока индекс не равен 0 и предыдущий элемент
массива больше текущего
            {
                array[i][item + 1] = array[i][item]; // перестановка элементов массива
                array[i][item] = temp;
                item--;
        }
}

2

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

Цей код просто жах. Цікаво, ви його хоча б пробували скомпілювати? Дивлячись на підключення бібліотек і те, як ви оголосили прототип функції сортування в 15 рядку, далі страшно читати.
0xDADA11C7, здається, це ваш клієнт, дайте йому направлення в палату дурних освітян.

Because tomorrow may be gone.
Подякували: ostap34PHP, 0xDADA11C72

3

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

Що таке "сортування двовимірного масива"? По-перше, сортувати можна тільки щось лінійне і за якоюсь ознакою (наприклад, масив за зростанням), а двовимірний масив - як сортувати? Як порівнювати рядки? по-друге, в C++ немає окремого типу "двовимірний масив", але є з десяток комбінацій різних речей, які можуть його заміняти: масив масивів, масив вказівників на масиви, вектор векторів і т.д. Визначіться із завданням і тим, як ви його реалізуєте.

LoganRoss, це може бути не той випадок - людина хоча б щось зробила.

Подякували: LoganRoss1

4

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

LoganRoss написав:

0xDADA11C7, здається, це ваш клієнт, дайте йому направлення в палату дурних освітян.

я думав йшлося про "прикінчених" студентів, що зовсім NULL, і undefined на навчання, а тут код є, це вже щось означає...

Програмуй! або запрограмують тебе!
Мій старий нік: ost.bregin2014
http://elib.me/ - все про os android українською мовою!
Подякували: 0xDADA11C7, LoganRoss2

5

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

Всім "Дякую" за допомогу "хороший" форум

Подякували: 0xDADA11C7, ostap34PHP2

6

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

Ми вас також "раді" бачити

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: LoganRoss, ostap34PHP2

7

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

ost.bregin2014 написав:
LoganRoss написав:

0xDADA11C7, здається, це ваш клієнт, дайте йому направлення в палату дурних освітян.

я думав йшлося про "прикінчених" студентів, що зовсім NULL, і undefined на навчання, а тут код є, це вже щось означає...

Код з інтернету можна хапнути, ось, коментарі навіть російські. А якщо я помиляюся, тоді вибачаюся.
Але автор повинен хоча б якось конкретизувати те, що він хоче зробити, а не просто кидатися кодом.
koala написав повідомлення допомоги, після якого можна було б задуматися і більш детально описати завдання. Але судячи з того що на це повідомлення жодної реакції, автор не хоче знати що робиться в нього в коді і чогось навчитися. Він просто надіявся, що хтось переробить код. А хто переробить, якщо ніхто не знає що треба робити?

Because tomorrow may be gone.
Подякували: ostap34PHP, koala2

8

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

Прихований текст

LoganRoss написав:
ost.bregin2014 написав:
LoganRoss написав:

0xDADA11C7, здається, це ваш клієнт, дайте йому направлення в палату дурних освітян.

я думав йшлося про "прикінчених" студентів, що зовсім NULL, і undefined на навчання, а тут код є, це вже щось означає...

Код з інтернету можна хапнути, ось, коментарі навіть російські. А якщо я помиляюся, тоді вибачаюся.
Але автор повинен хоча б якось конкретизувати те, що він хоче зробити, а не просто кидатися кодом.
koala написав повідомлення допомоги, після якого можна було б задуматися і більш детально описати завдання. Але судячи з того що на це повідомлення жодної реакції, автор не хоче знати що робиться в нього в коді і чогось навчитися. Він просто надіявся, що хтось переробить код. А хто переробить, якщо ніхто не знає що треба робити?

згідний, але добре що хоч питає,  з часом зрозуміє той код, потім буде сміятися з себе, бо підросте знаннями :)

Програмуй! або запрограмують тебе!
Мій старий нік: ost.bregin2014
http://elib.me/ - все про os android українською мовою!

9

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

ost.bregin2014 написав:

з часом зрозуміє той код, потім буде сміятися з себе, бо підросте знаннями :)

Це ви скоро зрозумієте, що освітянські дегенерати не ростуть знаннями, з ними треба чинити як зі скаженими псами.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: ostap34PHP1

10

Re: не можу відсортувати двовимірний масив методом вставки.Допоможіть будь

Автор не відповідає. Тему закрито.

Подякували: 0xDADA11C7, ostap34PHP2