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

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

Войти
Регистрация
Восстановить пароль
 
Mr_David
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 4
#1

Вывод. Двумерные массивы - C++

27.02.2014, 14:12. Просмотров 148. Ответов 1
Метки нет (Все метки)

Помогите! Третий массив(ответ) выводит какой то бред, не пойму в чем проблема. Заранее спасибо!

Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
 
#define SWAP(A, B) { int t = A; A = B; B = t; }//функция сортировки
int M = 10;//размер массива
int main()
{
    setlocale(LC_ALL, "Rus");
    int **M1 = new int *[M];//выделяем память под 1 массив(матрицу)
    for (int i = 0; i < M; i++)
    {
        M1[i] = new int[M];
    }
    int **M2 = new int *[M];//выделяем память под 2 массив(матрицу)
    for (int i = 0; i < M; i++)
    {
        M2[i] = new int[M];
    }
    int *M3 = new int[M*M];//выделяем память под 3 массив (конечный массив)(матрица)
    int *M4 = new int[M*M * 2];//выдляем память под промежуточный массив(матрица)
    cout << "Первый массив:\n";
    for (int i = 0; i<M; i++)//идем по 1 массиву(матрице)
    {
        for (int j = 0; j<M; j++)
        {
            M1[i][j] = rand() % 100;//заполняем случайными числами от 0 до 100 каждый элемент
            cout << M1[i][j] << " ";//выводим её на экран
            M4[i] = M1[i][j];//записываем в промежуточный одномерный массив
            
        }
        cout << "\n";
    }
    cout << "Второй массив:\n";
    for (int i = 0; i<M; i++)//идем по 2 массиву(матрица)
    {
        for (int j = 0; j<M; j++)
        {
            M2[i][j] = rand() % 100;//заполняем случайными числами от 0 до 100 каждый элемент
            cout << M2[i][j] << " ";//выводим её на экран
            M4[i] = M2[i][j];//записываем в промежуточный одномерный массив
            
        }
        cout << "\n";
    }
    for (int i = M*M * 2 - 1; i > 0; i--)//идем по одномерному массиву и сортируем его пузырьком
    {
        for (int j = 0; j < i; j++)
        {
            if (M4[j] < M4[j + 1])
                SWAP(M4[j], M4[j + 1]);// функция сортировки
        }
    }
    for (int i = 0; i<M*M; i++)
    {
            M3[i]= M4[i];//переводим числа из промежуточного массива в третий(конечный) массив
            
    }
    cout << "Конечный массив:\n";//выводим массив-ответ на экран
    for (int i = 0; i<M*M; i++)
    {
        
        cout << M3[i] << " ";
 
        cout << "\n";
    }
    delete[]M1;
        delete[]M2;
            delete[]M3;
                delete[]M4;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 14:12     Вывод. Двумерные массивы
Посмотрите здесь:

Двумерные массивы C++.Функции. C++
C++ (C++) (Двумерные массивы) и (Процедуры)
C++ Двумерные массивы и функции!!!
Массивы (двумерные) и Строки C++
Практика\двумерные массивы C++
C++ Язык с++ двумерные массивы.
C++ Циклы и двумерные массивы
Задача на двумерные массивы... C++
C++ двумерные массивы, cоздание,вывод, сумма,cортировка
C++ двумерные массивы(задача)
C++ Двумерные массивы матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
27.02.2014, 15:19     Вывод. Двумерные массивы #2
Цитата Сообщение от Mr_David Посмотреть сообщение
for (int i = 0; i<M; i++)//идем по 1 массиву(матрице)
* * {
* * * * for (int j = 0; j<M; j++)
* * * * {
* * * * * * M1[i][j] = rand() % 100;//заполняем случайными числами от 0 до 100 каждый элемент
* * * * * * cout << M1[i][j] << " ";//выводим её на экран
* * * * * * M4[i] = M1[i][j];//записываем в промежуточный одномерный массив
}
* * * * cout << "\n";
* * }
* * cout << "Второй массив:\n";
* * for (int i = 0; i<M; i++)//идем по 2 массиву(матрица)
* * {
* * * * for (int j = 0; j<M; j++)
* * * * {
* * * * * * M2[i][j] = rand() % 100;//заполняем случайными числами от 0 до 100 каждый элемент
* * * * * * cout << M2[i][j] << " ";//выводим её на экран
* * * * * * M4[i] = M2[i][j];//записываем в промежуточный одномерный массив
}
* * * * cout << "\n";
* * }
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
int koef=0;
for (int i = 0; i<M; i++)//идем по 1 массиву(матрице)
    {
        for (int j = 0; j<M; j++)
        {
            M1[i][j] = rand() % 100;//заполняем случайными числами от 0 до 100 каждый элемент
            cout << M1[i][j] << " ";//выводим её на экран
            M4[koef] = M1[i][j];//записываем в промежуточный одномерный массив
            koef++;
        }
        cout << "\n";
    }
    cout << "Второй массив:\n";
    for (int i = 0; i<M; i++)//идем по 2 массиву(матрица)
    {
        for (int j = 0; j<M; j++)
        {
            M2[i][j] = rand() % 100;//заполняем случайными числами от 0 до 100 каждый элемент
            cout << M2[i][j] << " ";//выводим её на экран
            M4[koef] = M2[i][j];//записываем в промежуточный одномерный массив
            koef++;
        }
        cout << "\n";
    }
Yandex
Объявления
27.02.2014, 15:19     Вывод. Двумерные массивы
Ответ Создать тему
Опции темы

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