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

Замена елементов в матрице - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ALGLIB собственные векторы http://www.cyberforum.ru/cpp-beginners/thread545655.html
Здравствуйте, может, кто пользовался библиотекой ALGLIB, никак не могу понять, как собственные векторы вывести. Пользуюсь функцией rmatrixevd, хотелось бы получить правые векторы, помогите пожалуйста.
C++ Проблема передали ifstream через указатель Ребята, объясните ибо в книгах не нашел. Как правильно передать в виде параметра поток ifstream? void parse(string *str, ifstream *FILE){ do{ cout << *str; } while( getline(FILE, *str) ); }; http://www.cyberforum.ru/cpp-beginners/thread545652.html
Сортировки гирь на весах C++
Здравствуйте уважаемые программисты. Помогите решить такую задачу: Имеются весы без гирь и пять различных грузов. На каждую из двух чашек весов можно класть по одному грузу. Расположить грузы по убыванию веса, использовав семь взвешиваний. Рассмотреть решение задачи с помощью алгоритмов сортировки и с помощью придуманного алгоритма. Кто нибудь разбирается в сортировках?
Получить в файле f последовательно числа Фибоначчи: u0,u1,...,un+1. C++
Дан файл f, компоненты u0,u1,...,un которого являются последовательными числами Фибоначчи. Получить в файле f последовательно числа Фибоначчи: u0,u1,...,un+1. Решите на С++.Не могу понять эту задачу)СПАСИбо большое заранее!
C++ Дана действительная матрица [aij]i,j=1,…,n. http://www.cyberforum.ru/cpp-beginners/thread545632.html
Формулировка: Дана действительная матрица i,j=1,…,n. Получить действительную матрицу i,j=1,…,n, элемент bij которой равен наименьшему из элементов данной матрицы, расположенных в заштрихованной области(как на картинке), определяемой индексами i, j как показано на рисунке. Размер матрицы и ее элементы вводятся с клавиатуры. Не понимаю, почему перебирает элементы...
C++ Выбрать из текста слова, начинающиеся и заканчивающиеся одной и той же буквой, и вы-вести их на экран. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) {char s; char mas,n; char st; char sd; подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.04.2012, 00:39     Замена елементов в матрице
Выпендрёжный вариант:
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
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <numeric>
#include <cstdlib>
#include <ctime>
 
class RandomNumber {
    int bottom;
    int top;
public:
    RandomNumber(const int _bottom, const int _top) : bottom(_bottom), top(_top) {}
    int operator () () const { return rand() % ( top - bottom + 1 ) + bottom; }
};
 
void dump_row(const int * row, size_t size, const size_t width) {
    while ( size-- )
        std::cout << std::setw(width) << *row++;
    std::cout << std::endl;
}
 
void dump_matrix(const int ** matrix, size_t rows, size_t columns, const size_t width) {
    while ( rows-- )
        dump_row(*matrix++, columns, width);
}
 
int main() {
    const size_t WIDTH(4);
    const int BOTTOM(0);
    const int TOP(99);
    size_t rows, columns;
    int ** matrix;
 
    /*
    std::cout << "Rows: ";
    std::cin >> rows;
    std::cout << "Columns: ";
    std::cin >> columns;
    */
    rows = 5;
    columns = 10;
 
    srand(time(0));
 
    matrix = new int * [ rows ];
    for ( size_t i = 0; i < rows; ++i ){
        matrix[i] = new int [ columns ];
        std::generate_n(matrix[i], columns, RandomNumber(BOTTOM, TOP));
    }
 
    std::cout << "Before:" << std::endl;
    dump_matrix((const int**)matrix, rows, columns, WIDTH);
 
    for ( size_t i = 0; i < rows; ++i ) {
        int * pMax = (int*) std::max_element(matrix[i], matrix[i] + columns);
        *pMax = std::accumulate(matrix[i], pMax, 0);
    }
 
    std::cout << "After:" << std::endl;
    dump_matrix((const int**)matrix, rows, columns, WIDTH);
 
    for ( size_t i = 0; i < rows; ++i )
        delete [] matrix[i];
    delete [] matrix;
 
    return 0;
}
codepad.org/GrN7XEvS
 
Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru