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

Обнулить элементы матрицы стоящие после максимального элемента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод char из функции http://www.cyberforum.ru/cpp-beginners/thread1080650.html
выводит первую букву слово, подскажите ошибку ... исполняемый файл #include "stdafx.h" #include "Header.h" #include <iostream> using namespace std; char words::GetCount() const
C++ Аргумент типа "char *" несовместим с параметром типа "LPCWSTR" Что такое и с чем его едят 1 IntelliSense: аргумент типа "char *" несовместим с параметром типа "LPCWSTR" d:\прога2014\прогапроба\reshenie_loaded_ library\loaded_ library\zagolovotsnyj_loaded_ library.cpp 20 26 loaded_ library Добавлено через 5 минут Если можно, обьясните всё во-всех диталях, на пальцах. Допустим Что это за LPCWSTR? Где его задают? http://www.cyberforum.ru/cpp-beginners/thread1080645.html
C++ Найти все трехзначные числа, квадраты которых оканчиваются тремя цифрами, которые и составляют искомые числа
Найти все трехзначные числа, квадраты которых оканчиваются тремя цифрами, которые и составляют искомые числа.
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени C++
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени.
C++ Для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров http://www.cyberforum.ru/cpp-beginners/thread1080630.html
для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров. количество элементов одномерного массива соответствует количеству строк матрицы.Помогите пожалуйста
C++ Дана строка S. Создать новую строку, состоящую из символов S, у которой к каждому пробелу добавлено два пробела Дана строка S. Создать новую строку, состоящую из символов S, у которой к каждому пробелу добавлено два пробела подробнее

Показать сообщение отдельно
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
24.01.2014, 22:31     Обнулить элементы матрицы стоящие после максимального элемента
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
#include <iostream>
#include <conio.h>
#include <ctime>
#include <iomanip>
using namespace std;
 
int main()
{
    //srand(time(0));
    const int N = 7;
    int Matrix[N][N];
    
    cout << "ГЊГ*òðèöГ* Г§Г*ïîëГ*ГїГҐГІГ±Гї ïðîèçâîëüГ*ûìè Г·ГЁГ±Г«Г*ìè Гў ГЁГ*òåðâГ*ëå îò 10 äî 99" << endl;
    cout << "Ïîëó÷åГ*Г* Г¬Г*òðèöГ*" << endl;
    // Г§Г*ïîëГ*ГҐГ*ГЁГҐ ГЁ âûâîä Г¬Г*òðèöû
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            Matrix[i][j] = rand() % (99 - 10 + 1) + 10;
            cout << setw(4) << Matrix[i][j];    
        }
        cout << "\n\n";
    }
    
    cout << "\n\n";
 
    // ïîèñê Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îãî ýëåìåГ*ГІГ*
    int max = Matrix[0][0], index_i(0), index_j(0);
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            
            if(Matrix[i][j] > max)
            {
                max = Matrix[i][j];
                index_i = i;
                index_j = j;
            }
            
        }
    }
    
    cout << "\n\nГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ [" << index_i <<"]["<< index_j <<"]="<< max << "\n\n";
    
    // îáГ*óëåГ*ГЁГҐ ýëåìåГ*òîâ Г¬Г*òðèöû ñòîÿùèõ ïîñëå Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îãî (Г°Г*áîòГ*ГҐГІ)
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            if(i > index_i)
                Matrix[i][j] = 0;
            if(Matrix[i][j] == max)
            {
                while(j < N)
                {
                    Matrix[i][j + 1] = 0;
                    j++;
                }
            }
        }
    }
    
//Сортировка
    for(int i = 0; i < N * N; i++)
    {
        for(int i = 0; i < N - 1; i++)
        {
            for(int j = 0; j < N; j++)
            {
                if(Matrix[i][j + 1] == 0)
                    break;
                if(Matrix[i][j] > Matrix[i][j + 1])
                {
                    int temp = Matrix[i][j];
                    Matrix[i][j] = Matrix[i][j + 1];
                    Matrix[i][j + 1] = temp;
                }
            }
        }
        for(int i = 0; i < N; i++)
        {
            for(int j = 0; j < N - 1; j++)
            {
                if(Matrix[i][j + 1] == 0)
                    break;
                if(Matrix[i][j] > Matrix[i][j + 1])
                {
                    int temp = Matrix[i][j];
                    Matrix[i][j] = Matrix[i][j + 1];
                    Matrix[i][j + 1] = temp;
                }
            }
        }
    }
    
    // âûâîä îáðГ*áîòГ*Г*Г*îé Г¬Г*òðèöû
    cout << "ГЊГ*òðèöГ* Гў îáðГ*áîòГ*Г*Г*îì âèäå\n\n";
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            cout << setw(4) << Matrix[i][j];    
        }
        cout << "\n\n";
    }
 
    system("pause");
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от templas Посмотреть сообщение
Ваш вариант не работает(
Да, там я отписался.
Этот вариант рабочий.
 
Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru