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

функция в матрице - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Графика http://www.cyberforum.ru/cpp-beginners/thread135488.html
setcolor(green); line(50,50,50,500); line(50,50,700,50); line(700,50,700,500); line(50,500,700,500); for(i=1;i<=4;i++) { setcolor(white); circle(100,125,5); delay(1000);
C++ Вычисление непрерывных дробей и выражений. Вычисление полиномов и их производных. 1. Чему равна знакочередующаяся сумма цифр числа n. 2. Даны натуральное число n и вещественное число х. Составить программу для вычисления: y=sinx+sinx sinx+sin sin sinx+...sin sin sin...sinx. 3. Найти наибольшее и наименьшее значения функции в заданном интервале с заданным шагом: y=(x+1)/(3*(x*x)+2) ... http://www.cyberforum.ru/cpp-beginners/thread135447.html
C++ С++. Решение программ для начинающих програмистов
мне на днях сдавать работу,а я не знаю как сделать...помогите пожалуйста!!! сделать матрицу,каждый элемент которой представляет собой дробную часть соответствующего элемента заданой матрицы A(n, m).
C++ С++ Цикли
Виручайте плизззз( 1) Составить программу вычисления суммы и добутку.http://img687.imageshack.us/img687/2471/97575238.png 2) Составить программу вычисления значения функции на интервале, на котором она установлена, с заданным шагом изменения аргумента, используя вложенные цикли.http://img522.imageshack.us/img522/1913/76388846.png 3) Составить программу нахождения приближенного значения...
C++ чтение с текстового файла getline()' ом http://www.cyberforum.ru/cpp-beginners/thread135427.html
Приветствую Всех! У меня возникла проблема с getline() Я должен прочитать из текстового файла строки по порядку в цикле while(!we.eof()){} И программа почему-то не видит что файл закончился и заходит в цикл на один раз больше, вследствии чего выписывает мусор в переменных ) Помогите разобратся, я в C++ новичок , нас учили читать строки гетлайном) Вот кодwhile(!we.eof()) { ...
C++ Таблица Пифагора через динамические масивы НЕ могу понять динамические масивы. Объясните как этот код работает. Вот пишу пример с книги. // таблица Пифагора #include <stdio.h> #include <conio.h> int main() { int i, j; // 1. создание подробнее

Показать сообщение отдельно
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
26.05.2010, 19:17     функция в матрице
Да, алгоритм не очень понятный, но более красивого способа я не знаю.
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
void max_element (int **MAS, int size) // функция получает двумерный массив и его размер.
{
    int min=MAS[0][0]; // тут будет минимальный элемент матрицы.
    int max=0, indexRow, indexColumn; // тут первый максимальный элемент и два его индекса.
    int max_two, indexRowTwo, indexColumnTwo; // тут второй максимальный элемент и его индексы 
                                                    // (далее поймете зачем).
    for (int i=0; i<size; i++)
    for (int j=0; j<size; j++)
    {
        if (min>MAS[i][j]) min=MAS[i][j]; // ищем минимум,
        if (max<MAS[i][j]) { // и максимум (и два индекса).
            max=MAS[i][j];
            indexRow=i; 
            indexColumn=j; }
    }
 
    MAS[indexRow][indexColumn]=min-1; // максимальный элемент заминяем значением, на 1 меньше минимума.
                                        // (опять же потом объясню).
    while (true)
    {
        max_two=0;
    for (int i=0; i<size; i++)
    for (int j=0; j<size; j++) 
        if (max_two<MAS[i][j]) { // теперь мы ищем максимум уже в измененный матрицею
            max_two=MAS[i][j];
            indexRowTwo=i;
            indexColumnTwo=j; }
 
    if (max==min-1) { std::cout << "False.\n"; break; } // если это условие соблюдается, то мы перебрали всю матрицу,
    else                                                // и такого элемента не нашлось.
    if (max_two==max) { std::cout << "Max: " << max_two ; break; } // если же первый максимум равен второму, то все круто :)
    else {  // иначе мы заменяем первый максимум и его индексы на второй, и снова начианем искать.
        max=max_two; 
        indexRow=indexRowTwo;
        indexColumn=indexColumnTwo;
        MAS[indexRowTwo][indexColumnTwo]=min-1; }
 
    }
    std::cout << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru