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

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

Войти
Регистрация
Восстановить пароль
 
Sharkyy
0 / 0 / 0
Регистрация: 26.12.2015
Сообщений: 9
#1

Адаптация решения - C++

23.06.2016, 21:17. Просмотров 132. Ответов 0
Метки нет (Все метки)

Есть часть решения задачи про матрицу: Задан целочисленный двухмерный массив A из n строк и m столбцов. Найти значение максимального элемента среди элементов, кратных k1, и расположенных до первого отрицательного элемента. Матрицу рассматривать по столбцам. В случае отсутствия кратных k1 или отрицательных элементов или невозможности поиска вывести соответствующие поясняющие сообщения.
Нужно переделать это решение так, чтобы оно решало похожую задачу: Задан целочисленный двухмерный массив A из n строк и m столбцов. Найти номер последнего минимального элемента среди элементов, меньших Т1 и расположенных до первого элемента, большего Т2. Матрицу рассматривать по столбцам. В случае отсутствия меньших Т1 или больших Т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
void rewenie(Matrix * A)
{
    FILE *end = fopen("end.txt", "a+");
 
    if (end == NULL)
    {
        fprintf(end, "****************************************************\n");
        fprintf(end, "Ошибка файла\nPress any key\n");
        fprintf(end, "****************************************************\n");
        //----------------------------------------------------------------------//
        printf("Ошибка файла\n");
        printf("Press any key\n");
        _getch();
        return;
    }
 
    int u;
    printf ("Введите число t1 -> ");
    scanf("%d", &u);
    if (u == 0) {
        fprintf(end, "****************************************************\n");
        fprintf(end, "Некорректное число %d\n", u);
        fprintf(end, "Press any key\n");
        fprintf(end, "****************************************************\n");
        //----------------------------------------------------------------------//
        printf("Некорректное число %d\n", u);
        printf("Press any key\n");
        _getch();
        return;
    }
 
    int otr = 0, krat = 0;
 
    for (int j(0); j < A->line; j++)
    {
        line(A, j);
        for (int i(0); i < A->column; i++)
        {
            if (read(A) < 0) otr++;
            if (read(A) % u == 0) krat++;
            next(A);
        }
    }
 
    if (otr == 0) {
        fprintf(end, "****************************************************\n");
        fprintf(end, "Нет отрицательных элементов\n");
        fprintf(end, "Press any key\n");
        fprintf(end, "****************************************************\n");
        //----------------------------------------------------------------------//
        printf("Нет отрицательных элементов\n");
        printf("Press any key\n");
        _getch();
        return;
    }
    if (krat == 0) {
        fprintf(end, "****************************************************\n");
        fprintf(end, "Нет элементов кратных %d\n", u);
        fprintf(end, "Press any key\n");
        fprintf(end, "****************************************************\n");
        //----------------------------------------------------------------------//
        printf("Нет элементов кратных %d\n", u);
        printf("Press any key\n");
        _getch();
        return;
    }
 
    int max = -1;
    for (int i(0); i < A->line; i++)
    {
        line(A, i);
        
        for (int j(0); j < A->column; j++)
        {
            if (read(A) < 0) break;
            else
                if ((read(A) % u == 0) && (read(A) > max)) max = read(A);
        
        }
        if (read(A) < 0) break;
    }
    if (max != -1) {
        fprintf(end, "****************************************************\n");
        fprintf(end, "Максимальный элемент: %d\n", max);
        fprintf(end, "****************************************************\n");
        //----------------------------------------------------------------------//
        printf("Максимальный элемент: %d\n", max);
    }
 
    if (max == -1) {
        fprintf(end, "****************************************************\n");
        fprintf(end, "Первый элемент в матрице отрицательный\n");
        fprintf(end, "****************************************************\n");
        //----------------------------------------------------------------------//
        printf("Первый элемент в матрице отрицательный\n");
    }
 
    fclose(end);
    return;
}
void print(Matrix * A)
{
    for (int i(0); i < A->line; i++)
    {
        line(A, i);
        for (int j(0); j < A->column; j++)
        {
            printf("%4d", A->cur->value);
            next(A);
        }
        printf("\n");
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 21:17     Адаптация решения
Посмотрите здесь:

Адаптация кода - C++
Доброго времени суток! Нужно избавить эти 2 участка от ошибок. Я не силен в C++, особенно в указателях, поэтому не получается передавать...

Адаптация ПО под 64-битную систему - C++
имею необходимость адаптировать прогу на С++ под 64 битную систему ( на 32 работает, но не на 64=() Подскажите плиз какие-нить источники,...

Адаптация примера из книги под Visual Studio - C++
Есть книга по объектно-ориентированному моделированию Ильи Труба, там примеры кажется написанные в dev c++. Не могу запустить в vs2012...

Адаптация куска кода, написанного по стандарту C++11, под стандарт C++03 - C++
есть код namespace cmd { inline auto get_size(const char *path) -&gt; decltype( std::declval&lt;struct dSTATE64&gt;().st_size ) ...

Метод решения - C++
С помощью какого метода лучше всего решить на C++ систему уравнений как на картинке ?

Решения матриц - C++
Уважаемые программисты прошу Вас помочь разобраться в решении 2-х задач. 1) Дана действительная матрица размера 6x9. Найти среднее...

2 решения на turboC - C++
1. Данно натуральное n. можно ли представить его в виде суммы трех квадратов натуральных чисел, если можно,то указать все представления n в...

Улучшение решения... - C++
Я тут решил задачку... Решение не оптимальное... Помогите улучшить... Вот задача: Несчастливые номера (Время: 1 сек. Память: 16 Мб) ...

Решения по Дейтелам - C++
Ребят, такой вопрос, купил книгу Deitel H.M., Deitel P.J. / Дейтел Х.М., Дейтел П.Дж. - Как программировать на С++, очень много заданий,...

есть решения??? - C++
Валя и Вера собрались варить варенье из А кг смородины. По рецепту на 2 кг ягод нужно 3 кг сахара. Валя сказала, что им потребуется С кг...

Оптимизация решения. - C++
всем привет. решил задачу - #include &lt;iostream&gt; #include &lt;fstream&gt; void print (const int *MAS, const char *, const int,...

Решения уравнения - C++
1. (a+b)^2-(a^2+2ab)/a^2 b^2 +4ab^3 +b^4 при a=100 и b=0.001 2. (a+b)^3-(a^3)/3ab^2+b^3+3a^2 b при a=1000 и b=0,0001 ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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