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

Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры c++ http://www.cyberforum.ru/cpp-beginners/thread1722778.html
Дана задачка - дан список учащихся из 10 записей, каждая запись имеет поля(фамилия, имя, номер класса и букву класса), нужно вывести фамилию и первую букву имени для всех учеников указанного извне класса вот небольшое начало этой задачи, как выводить фамилию с первой буквой имени? #include <iostream> #include <Windows.h> using namespace std; struct date { int numb; char bukva;...
C++ Динамический и статический массив Подскажите, в чем разница. Имеется статический массив, который просто задается: long mas = { 0 }; Т.е. просто вставляем массив размером 5, который заполнен нулями. В чем отличие этого массива от: int n; cout << "Enter n : \n"; cin >> n; long *mas = new long; mas = { 0 }; http://www.cyberforum.ru/cpp-beginners/thread1722762.html
C++ Прочитать из файла числа в 16-ичной кодировке
Добрый вечер! Подскажите пожалуйста. У меня в файле записана следующая строка b6589fc6abdc8ac. Я её считываю следующим образом char out_hash;//+out_hash fscanf(IniFile, "%s ", out_hash);//+out_hash Как считать данную строку в переменную out_hash, что бы записалась 6b 58 9f и т.д Как в переменной sha_ctx.buf.
Переставить строки и столбцы матрицы так, чтобы наибольший элемент оказался в левом верхнем углу C++
В матрице 4x4 переставить её строки и столбцы так, чтобы наибольший элемент оказался в левом верхнем углу. Решите пожалуйста как можно проще, без использования векторов и прочих элементов... P.S. Суть в том, чтобы строки и столбцы не сразу менялись местами(например 3 и 0), а как бы постепенно(3 со 2, 2 с 1, 1 с 0), аналогично со столбцами. Добавлено через 10 минут Начало решения: ...
C++ Транспонирование матриц http://www.cyberforum.ru/cpp-beginners/thread1722739.html
//Функция транспонирования void transpr (int mas , int i, int j){ for (i=0; i<=2; i++){ for(j=0; j<=2;j++){ printf("%d\t",mas); } printf("\n"); } }
C++ Определить количеств слов, состоящих из четырёх букв Составить программу для определения количества слов, состоящих из четырёх букв. подробнее

Показать сообщение отдельно
belkagator
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 5
27.04.2016, 23:08     Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы
Рекурсивная функция в С++. срочно!
ДЛЯ вывода матрицы на экран построчно использовать РЕКУРСИВНУЮ функцию вывода на экран одномерного массива заданного размера.


Нуждаюсь в советах и подсказках по созданной программе.
Добрый вечер, уважаемые пользователи данного форума.
Прошу отнестись к моей просьбе с уважением.
Требуется Ваша помощь-знатоки, программисты, начинающие и просто отзывчивые люди)
Вот в чем загвоздка:
требуется "результаты вывести на экран и в файл,выводы матрицы оформить в виде отдельных функций(это уже сделано).ДЛЯ вывода матрицы на экран построчно использовать РЕКУРСИВНУЮ функцию вывода на экран одномерного массива заданного размера.
С последним предложением возникли проблемы т.к в голову не лезет ни создание массива,чтобы не вызвать ошибок,ни создания рекурсивной функции вызывающей саму себя.
заранее спасибо за любые советы и исправления.
если есть терпение, пишите подробно, так как я славюсь своей "тормознутостью" в некоторых моментах))[/B][/B]


матрица вида(произвольный пример наход-ся в файле)
1 2 3 4
1 1 1 1
1 2 0 8
3 4 7 6

Добавлено через 1 час 9 минут
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
#include<fstream>
#include <iostream>
 
using namespace std;
 
double **function_matr(int size,int m)
{
    double** matr = new double*[size];
    for (int i = 0; i < size; i++)
    {
        matr[i] = new double[m];
    }
    return matr;
}
void function_zapolnenia(double** matr, int size,int m)
{
    ifstream infile("matr.txt");
    if (!infile)
    {
        cout << "Файл не найден..." << endl;
    }
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < m; j++)
        {
            infile >> matr[i][j];
        }
    }
    infile.close();
}
void function_exit(double** matr, int size,int m)
{
    //int numSTR = -1;
    //{
    ofstream outfile("matr2.txt");
    if (!outfile)
    {
        cout << "файл не найден" << endl;
    }
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < m; j++)
        {
            
            cout << matr[i][j] << '\t';
        }
        cout << endl;
    }
}
void rezul(double **matr, int n, int m)
{
    int chet = 0, LonSer = 0, numSTR = -1;//счет-повтор элементы,lonser запоминает максимальное количество повтор элементов в строке.нумстр-строка
    for (int i = 0; i < n; i++)//прогон по строчкам i-строка
    {
        for (int k = 0; k < m; k++)//прогон от первого элемента по всей строчке
        {
            chet = 0;
            for (int z = k + 1; z < m; z++)//считает сколько раз повторяется конкретный эдемент среди других элементов z
            {
                if (matr[i][k] == matr[i][z])
                {
                    chet++;
                }
            }
            if (chet > LonSer)
            {
                LonSer = chet;
                numSTR = i;
            }
        }
        
    }
    
    ofstream outfile("matr2.txt");
    if (!outfile) {
        cout << "nety faila" << endl;
    }
    else
    {
        if (numSTR >= 0)
            outfile << endl << "номер строки с максимальной серией повторяющихся элементов " << numSTR + 1 << endl;
        else
            outfile << endl << "строки с повторяющимися элементами не обнаружены" << endl;
    }
    if (numSTR >= 0)
        cout << endl << "номер строки с максимальной серией повторяющихся элементов " << numSTR + 1 << endl;
    else
        cout << endl << "строки с повторяющимися элементами не обнаружены" << endl;
}
int main()
{
    setlocale(LC_ALL, "rus");
    
    int n,m, i, j, e;
    cout << "введите число строк и столбцов"
            "в матрице: " << endl;
    cin >> n>>m;//число строк и столбцов для квадратной матрицы
    //выделение динамичесой памяти для матрицы
    double **matr;
    matr = function_matr(n, m);
    function_zapolnenia(matr, n, m);
    function_exit(matr, n, m);
    rezul(matr, n, m);
    for (i = 0; i < n; i++)
        delete[] matr[i];
    delete[] matr;
    return 0;
}
Добавлено через 10 минут
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru