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

Вывести матрицу на экран в заданном виде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Dev-C++ и Turbo C++ http://www.cyberforum.ru/cpp-beginners/thread125379.html
Программа выводит строчки правильно в Dev-C++ и совершенно не то в Turbo C++. Мне необходимо, чтобы оно работало в Turbo C++. Пожалуйста, подскажите. В классе CDВ есть метод Get(int position),...
C++ Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку [m,n].Для проверки, является ли число простым использовать функцию Составить пограмму вычисления количества простых чисел, которые принадлежат отрезку .Для проверки, является ли число простым использовать функцию prostoe.Функция возвращает 1, если число простое, а... http://www.cyberforum.ru/cpp-beginners/thread125367.html
C++ Разместите элементы прямоугольной матрицы в обратном порядке
Дана действительная матрица размером MxN.Разместите элементы прямоугольной матрицы в обратном порядке.Указание:разместить в обратном порядке сроки матрицы,а потом её столбцы.
Составить программу для подсчёта суммы непарных элементов двумерной матрицы В розмером MxN C++
Составить программу для подсчёта суммы непарных элементов двумерной матрицы В розмером MxN.Сформировать матрицу при помощи генератора случайных чисел и организовать её вывод на экран.
C++ Составит пограмму, которая вычисляет среднее арифметическое максимального и минимального значения элементов одномерного массива Х http://www.cyberforum.ru/cpp-beginners/thread125353.html
Составит пограмму, которая вычисляет среднее арифметическое максимального и минимального значения элементов одномерного массива Х, который состоит из 15 действительных чисел
C++ Получение структуры через указатель на объект класса Суть в том, чтобы через указатель на объект обратиться к методу, который возвращает заполненную структуру. Этот указатель и метод вывода содержания структуры содержит класс В. Проблема в том, что... подробнее

Показать сообщение отдельно
Bi-2
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 17

Вывести матрицу на экран в заданном виде - C++

04.05.2010, 18:53. Просмотров 1915. Ответов 1
Метки (Все метки)

подскажите как вывести матрицу (А) на экран в виде:
2 2
2 2
и.т.п........
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <Math.h>
 
using namespace std;
 
const int nmax = 100;                          //Максимальное количество строк и столбцов в матрице
 
//объявление функций
 
int vvod(int[nmax][nmax]);                     //функция ввода матрицы
int kolstolb(int, int[nmax][nmax]);            //функция подсчета числа столбцов хотя бы с одним нулем
int seria(int, int[nmax][nmax]);               //функция поиска строки с самой длинной серией одинаковых элементов
  
//главная функция программы
void main()
{
    //Объявление переменных
    int n;                                     //число строк и столбцов в матрице
    int k;                                     //число столбцов, содержащих хотя бы один нулевой элемент
    int i;                                     //номер строки, в которой находится самая длинная серия одинаковых элементов
    int A[nmax][nmax];                         //целочисленная прямоугольная матрица
    n = vvod(A);                               //вызов функции ввода матрицы
    k = kolstolb(n, A);                        //вызов функции подсчета количества столбцов с нулевыми элементами
     
 
                                               //вывод "Число столбцов хотя бы с одним нулевым элементом = k"
    cout<<"Chislo stolbcov hotya bi s odnim nulevim elementom = "<<k<<endl;
    i = seria(n, A);                           //вызов функции поиска строки с самой длинной серией одинаковых элементов
                                               //вывод "Самая длинная серия одинаковых элементов находится в строке i"
    cout<<"Samaya dlinnaya seria odinakovih elementov nahoditsya v stroke "<<i<<endl;
     cout<<"vdvd = "<<A[nmax][nmax]<<endl;
}
 
//функция ввода матрицы
//выходные параметры:
//n - число строк и столбцов матрицы
//A - квадратная целочисленная матрица
int vvod(int A[nmax][nmax])
{
    int i,j;                                   //переменные цикла
    int n;                                     //число строк и столбцов матрицы
    do                                         //выполнить (начало цикла)
    {
        cout<<"Vvedite chislo strok i stolbcov matrici"<<endl;  //вывод "Введите число строк и столбцов матрицы"
 
        cin>>n;                                //ввод n (считать с клавиатуры)
        if (n<=0 || n>nmax)                    //если n меньше или равно 0 или больше nmax
                                               //вывести "Число элементов должно быть между 1 и nmax" 
            cout<<"Chislo elementov dolzno bit' mezdu 1 i "<<nmax<<endl;
 
    } while (n<1 || n>nmax);                   //пока n не будет в пределах от 1 до nmax
    for (i=0; i<n; i++)                        //цикл от 0 до n-1
        for (j=0; j<n; j++)                    //цикл от 0 до n-1
        {
            cout<<"Vvedite element ["<<i+1<<", "<<j+1<<"] ";   //вывод "Введите элемент i+1, j+1"
  
            cin>>A[i][j];                       //ввод i,j-го элемента матрицы
            
            
        }
        
    return n;                                  //функция возвращает n - число строк и столбцов матрицы
 
}
 
//функция подсчета числа столбцов хотя бы с одним нулевым элементом
//входные параметры:
//n - число строк и столбцов матрицы
//A - матрица
//выходной параметр - число столбцов хотя бы с одним нулевым элементом
int kolstolb(int n, int A[nmax][nmax])
{
    int i,j;                                   //переменные цикла
    int k = 0;                                 //число столбцов хотя бы с одним нулевым элементом
    for (j=0; j<n; j++)                        //цикл (по всем столбцам матрицы)
    {
        i=0;                                   //начальный номер строки
        while (i<n && A[i][j]!=0)              //пока не достигнута последняя строка или не найден нулевой элемент
            i++;                               //увеличиваем i (номер строки)
        if (i<n)                               //если не достигнута последняя строка (т.е. нулевой элемент найден)
            k++;                               //увеличиваем k (число столбцов хотя бы с одним нулевым элементом)
    }
    return k;                                  //возвращаем k
}
 
//функция поиска строки с самой длинной серией одинаковых элементов
//входные параметры:
//n - число строк и столбцов матрицы
//A - матрица
//выходной параметр - номер строки с самой длинной серией нулевых элементов
int seria(int n, int A[nmax][nmax])
{
    int i,j;                                   //переменные цикла
    int k;                                     //текущее кол-во одинаковых элементов в серии
    int kmax=1;                                //максимальное количество одинаковых элементов в серии
    int knum=0;                                //номер строки с макс. числом одинаковых элементов в серии
    for (i=0; i<n; i++)                        //цикл по все строкам
    {
        k=1;                                   //задаем начальное число одинаковых элементов в серии
        for (j=0; j<n-1; j++)                  //просматриваем всю строку
            if (A[i][j]==A[i][j+1])            //если два соседних элемента одинаковы
                k++;                           //увеличиваем k на 1
            else                               //иначе
            {
                if (k>kmax)                    //если k>kmax
                {
                    kmax=k;                    //теперь kmax=k
                    knum=i;                    //а номер строки i
                }
                k=1;                           //снова задаем начальное число одинаковых элементов в серии
            }
        if (k>kmax)                            //проверям k также после просмотра всей строки (если серия включает
        {                                      //последний элемент строки)
            kmax=k;
            knum=i;
        }
    }
    return knum+1;                             //возвращаем номер строки с самой длинной серией
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru