Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.01.2020
Сообщений: 76
1

Нужно сделать этот код с динамическим массивом

18.02.2020, 23:22. Показов 365. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include<iostream> 
#include<ctime> 
using namespace std;
 
void main()
{
    srand(time(0));
    int const N = 100;
    int mas[N][N], n, i, j, dob = 1, min = 100, max = 0;
    setlocale(LC_ALL, "rus");
    cout << "Введите размер матрицы NxN: ";
    cin >> n;
    cout << "Матрица: " << endl;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            mas[i][j] = rand() % 10 - 1;
            cout << mas[i][j] << " ";
        }
        cout << endl;
    }
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            dob *= mas[i][j];
        }
        if (dob > 0)
        {
            cout << "Произведение " << i << " строки: " << dob << endl;
        }
        dob = 1;
    }
 
for (i = 0; i < n; i++)
    {
        j = i;
        if (max < mas[i][j])
            max = mas[i][j];
        if (min > mas[i][j])
            min = mas[i][j];
    }
    for (i = 0; i < n; i++)
    {
        if (max < mas[i][n - 1 - i])
            max = mas[i][n - 1 - i];
        if (min > mas[i][n - 1 - i])
            min = mas[i][n - 1 - i];
    }
    cout << "Максимум элементов диагоналей: " << max << endl;
    cout << "Минимум элементов диагоналей: " << min << endl;
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2020, 23:22
Ответы с готовыми решениями:

Почему крашит простейший код работы с динамическим массивом?
#include&lt;iostream&gt; using namespace std; int main() { char*arr = new char(); arr =...

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

Проблема с динамическим массивом С++
Есть задача: Дан Двумерный массив целых чисел. В каждой его строке найти: а) сумму отрицательных...

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

4
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
19.02.2020, 00:16 2
NeFan, Это не сложно. Но смотреть на такой код тяжко. Надо в теги заключать. Не умеешь? Научить? Или сам догадаешься?
0
Модератор
2639 / 1751 / 920
Регистрация: 16.10.2013
Сообщений: 5,067
Записей в блоге: 14
19.02.2020, 10:33 3
Цитата Сообщение от NeFan Посмотреть сообщение
C++
5
void main()
главная функция программы не может быть void, она должна возвращать код завершения. Следовательно:
C++
5
int main()
Цитата Сообщение от NeFan Посмотреть сообщение
C++
14
for (i = 0; i < n; i++)
для циклов лучше объявлять локальные переменные, чтобы время их жизни ограничивалось лишь этим циклом. В дальнейшем по коду они не требуются.
C++
14
for (int i = 0; i < n; i++)
Цитата Сообщение от NeFan Посмотреть сообщение
C++
9
min = 100, max = 0
Правилом хорошего тона является проинициализировать переменную для минимума максимально возможным значением, для максимума - минимально возможным.
C++
1
2
3
#include <limits> 
 
min = numeric_limits<int>::max(), max = numeric_limits<int>::min();
Или же на первой итерации положите в эти переменные элемент mas[0][0], добавив проверку в код:
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < n; i++)
    {
        if(!i) {
            max = min = mas[i][i];
        } else {
            if (max < mas[i][i])
                max = mas[i][i];
            if (min > mas[i][i])
                min = mas[i][i];
        }
    }
еще хочу добавить, что лучше искать максимум и минимум диагоналей еще на этапе формирования массива. Также как и произведения строк следует искать на этапе формирования массива. Попробуйте сделать это самостоятельно.

ну и сам код с динамич. массивом:
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
#include <iostream> 
#include <ctime> 
#include <limits> 
using namespace std;
 
int main() {
    srand(time(0));
    int **mas, n, dob = 1, min = numeric_limits<int>::max(), max = numeric_limits<int>::min();
    setlocale(LC_ALL, "rus");
    cout << "Введите размер (N) квадратной матрицы: ";
    cin >> n;
    
    mas = new int*[n];
    for(int i = 0; i < n; i++) {
        mas[i] = new int[n];
    }
    
    cout << "Матрица: " << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            mas[i][j] = rand() % 10 - 1;
            cout << mas[i][j] << "\t";
        }
        cout << endl;
    }
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            dob *= mas[i][j];
        }
        if (dob > 0)
        {
            cout << "Произведение " << i << " строки: " << dob << endl;
        }
        dob = 1;
    }
 
for (int i = 0; i < n; i++)
    {
        if (max < mas[i][i])
            max = mas[i][i];
        if (min > mas[i][i])
            min = mas[i][i];
    }
    for (int i = 0; i < n; i++)
    {
        if (max < mas[i][n - 1 - i])
            max = mas[i][n - 1 - i];
        if (min > mas[i][n - 1 - i])
            min = mas[i][n - 1 - i];
    }
    cout << "Максимум элементов диагоналей: " << max << endl;
    cout << "Минимум элементов диагоналей: " << min << endl;
    
    for(int i = 0; i < n; i++) {
        delete[] mas[i];
    }
    delete[] mas;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 18.01.2020
Сообщений: 76
20.02.2020, 23:34  [ТС] 4
Научи.
0
Yetty
20.02.2020, 23:37     Нужно сделать этот код с динамическим массивом
  #5

Не по теме:

NeFan, выделяете код и нажимаете кнопку С++ в левом верхнем углу редактора

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2020, 23:37

Проблема с динамическим массивом
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int...

Проблема с динамическим массивом
Когда расширяется массив в первое поле первого элемента структуры вносятся изменения( появляются...

Странность с динамическим массивом
Меня в тупик поставило следующая ошибка (&quot;Название исполняемого файла&quot; has triggered a breakpoint.)...

Затруднение с динамическим массивом
Здравствуйте: Неправильно формируется динамический массив: в котором количество строк определяется...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru