Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 17
1

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

04.05.2010, 18:53. Просмотров 2611. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2010, 18:53
Ответы с готовыми решениями:

Вывести матрицу в заданном виде
Требуется создать квадратную матрицу 9х9, заполнить и вывести в таком виде: 0 0 0 0 0 0 ...

Вывести на экран матрицу порядка n (n=1..15) - элементы выводятся не в виде матрицы, а в виде строки
Здравствуйте. Нужно вывести на экран матрицу порядка n (n=1..15). Я написал программу, но при этом...

Вывести на экран символы в заданном виде
Решите пожалуйста с объяснением. +++++ ++++ ...

Вывести содержимое массива на экран монитора в заданном виде
Кто такие решать умеет - помогите братва! 1.Заполнить одномерный массив из пятнадцати элементов...

1
4335 / 1467 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
04.05.2010, 18:57 2
C++
1
2
3
4
5
6
7
8
9
10
11
void print(int** mas, int N)
{
 for (int i = 0; i < N ; i++)
 {
  for (int j = 0; j < N; j++)
  {
   cout << mas[i][j] << " ";
  }
  cout << endl;
 }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2010, 18:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вывести на экран числа в заданном диапазоне в виде матрицы
41 42 43 44 ... 50 51 52 53 54 ... 60 61 62 63 64 ... 70 71 72 73 74 ... 80 Заранее благодарю.

Вычислить и вывести на экран в виде таблицы значения функции f на заданном интервале
вычислить и вывести на экран в виде таблицы значения функции f на интервале от x_0 до x_h с шагом...

Вычислить и вывести на экран в виде таблицы значения функции Y на заданном интервале
Вычислить и вывести на экран в виде таблицы значения функции Y на интервале от Xn. до Xk c шагом...

Как вывести символьный массив на экран в заданном виде , используя макрос?
Задан одномерный массив , который содержит 12 символьных величин. Нужно вывести его в обратном...

Вычислить и вывести на экран в виде таблицы значения функции F на заданном интервале
Нет ли у кого исходника такой задачи, а то я в си не очень ) 1. Вычислить и вывести на экран в...

Вычислить и вывести на экран в виде таблицы значения функции f на заданном интервале
Надо сделать эту задачу через структуру, помогите надо срочно отдать


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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