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

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

Войти
Регистрация
Восстановить пароль
 
Jumper19
13 / 13 / 0
Регистрация: 27.12.2010
Сообщений: 83
#1

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

13.05.2011, 21:51. Просмотров 1000. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Какие есть способы чтобы вывести двумерный массив в С++?

Например вот я ввожу массив с клавы без елементов которые меньше 0 и он выводится ровно, вот так:
http://i037.***********/1105/4d/3ab23517d168.jpg

Ну вот а если рандомно заполнить массив то он какой-то кривой:
http://s004.***********/i205/1105/56/3700c6288355.jpg

Как сделать красиво!?

Вот код программы, пишите прямо там в процедуре OUT!

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
// 32.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
void kl (int x[100][100], int n, int m)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            cin>>x[i][j];
        }
    }
}
 
void rand (int x[100][100], int n, int m)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            x[i][j]=rand()%100-50;
        }
    }
}
 
void out (int x[100][100], int n, int m)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            cout<<"["<<x[i][j]<<"]"<<"  ";
        }
        cout<<endl;
    }
}
 
void main ()
{
    setlocale (0, "rus");
    int x[100][100];
    int n, m, v;
    cout<<"Введите размеры массива 'MxN'"<<"\n"<<"N: ";
    cin>>n;
    cout<<"M: ";
    cin>>m;
    cout<<"Как заполнить массив?"<<"\n"<<"1 - KEYBOARD"<<"\n"<<"2 - RANDOM"<<"\n";
    cin>>v;
    switch (v)
    {
    case 1:
        {
            kl (x, n, m);
        }
        break;
    case 2:
        {
            rand (x, n, m);
        }
        break;
    }
    cout<<"Ваш массив:"<<"\n";
    out (x, n, m);
    system ("pause");
}
Заранее благодарен!

Добавлено через 26 секунд
А и еще, можете написать какие есть вообще варианты вывода массива!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 21:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выводим двумерный массив! (C++):

Ошибка в двумерном массиве, программа проста: обьявляем и инициализируем двумерный массив и выводим на экран, на экране одни каракули!!! - C++
В чем проблема, компилятор ошибок не выдает, и сделал вроде все правильно!!!!?? #include &lt;iostream&gt; #include&lt;iomanip&gt; using...

Создать массив, выводим сумму всех нечетных/четных элементов, найти минимальный и максимальный элементы - C++
Добрый вечер, не могу решить 2 задачи. Первая задача: Создаем массив на 10 элементов, потом заполняем этот массив случайными числа до...

Как можно вложить двумерный массив в двумерный? - C++
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Чем отличаются двумерный символьный массив и массив указателей на строки - C++
Двумерный символьный массив и массив указателей на строки. Собственно чем они отличаются? Заранее спасибо.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.05.2011, 21:54 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iomanip>
...
void out (int x[100][100], int n, int m)
{
        for (int i=0; i<n; i++)
        {
                for (int j=0; j<m; j++)
                {
                        cout<< setw(5) << "["<<x[i][j]<<"]"<<"  ";
                }
                cout<<endl;
        }
}
0
Jumper19
13 / 13 / 0
Регистрация: 27.12.2010
Сообщений: 83
13.05.2011, 22:00  [ТС] #3
Вот так тогда получше будет:

C++
1
cout<<"["<<setw(3)<<x[i][j]<<"] ";
Спасибо!
0
Ma3a
Эксперт C++
617 / 461 / 31
Регистрация: 28.01.2011
Сообщений: 605
13.05.2011, 22:03 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <functional>
#include <algorithm>
#include <iterator>
...
struct ArrayPrinter : public std::binary_function<int *,int,void>
    {
    void operator() (int * arr,int dim) const
        {
        std::copy(arr,arr + dim, std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
        }
    };
 
void out(int x[100][100], int n , int m)
    {
    std::for_each(x,x + n, std::bind2nd(ArrayPrinter(),m));
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 22:03
Привет! Вот еще темы с ответами:

Массив: Как можно задать и вывести симметричный двумерный массив? - C++
как можно задать и вывести симметричный массив

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. - C++
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...

Дан двумерный массив размерностью 4*5. Сформировать одномерный массив - C++
Дан двумерный массив размерностью 4*5, заполненный целыми числами с клавиатуры. Сформировать одномерный массив каждый элемент которого...

Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива - C++
Дан двумерный массив , создать другой массив ,строками которого будут диагонали первого массива, решить с помощью классов . Класс...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.05.2011, 22:03
Ответ Создать тему
Опции темы

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