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

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

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

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

11.04.2012, 23:28. Просмотров 376. Ответов 6
Метки нет (Все метки)

Всем привет, можете помочь с заданием ?
Нужно заменить самый большой элемент каждой строки матрицы, суммой элементов размещенных до нее. Матрица генерируется из случайных чисел, размерность мы вводим.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2012, 23:28     Замена елементов в матрице
Посмотрите здесь:

Замена елементов текста - C++
пишу програму на Borland C++ 3.01, и мне нужно считать информацию с файла, вывести её на екран. Ето я зделал... #include <iostream.h> ...

Найти произвидение елементов в матрице - C++
Всем добрый день. Помогите пожалуйста с этим заданием: нужно вычислить и напечатать в квадратной матрице порядка N произведение элементов,...

замена елементов одномерного массива - C++
#include<string> #include <cmath> #include <iostream> #include<locale> using namespace std; const int max_size=255; int...

В двухмерной матрице найти суму определенных елементов - C++
Как найти суму елементов изображенных на картинке?

Замена элементов в матрице - C++
В квадратной матрице A заменить элементы главной и побочной диагоналей на минимальный элемент, найденный среди элементов, расположенный...

Замена столбцов в матрице - C++
Доброго времени суток! есть задача Дана вещественная матрица размером 9*6. Найти максимальный элемент матрицы. Поменять столбец,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
11.04.2012, 23:41     Замена елементов в матрице #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
#include <iostream>
#include <ctime>
#include <iomanip>
 
int main()
{
    size_t size;
    std::cout << "Size of matrix: ";
    std::cin >> size;
    int **matrix = new int*[size];
    srand(time(NULL));
    int pos, max;
 
    for(int i = 0; i < size; i++)
    {
        matrix[i] = new int[size];
        pos = 0;
        int j;
        for(j = 0; j < size; j++)
        {
            matrix[i][j] = rand() % 20;
            std::cout << std::setw(4) << matrix[i][j];
        }
        max = matrix[i][0];
        for(j = 1; j < size; j++)
            if (max < matrix[i][j])
                max = matrix[i][pos = j];
        int sum = 0;
        j = 0;
        while (j < pos)
            sum += matrix[i][j++];
        matrix[i][pos] = sum;
        std::cout << std::endl;
    }
    std::cout << "+-------+\n";
    for(int i = 0; i < size; i++)
    {
        for(int j = 0; j < size; j++)
            std::cout << std::setw(4) << matrix[i][j];
        std::cout << std::endl;
    }
 
    for(int i = 0; i < size; i++)
        delete [] matrix[i];
    delete [] matrix;
    return 0;
}
Katusha11
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 23
12.04.2012, 00:35  [ТС]     Замена елементов в матрице #3
Петрррр, а что означает setw ? Я погуглила, но толком не поняла ?
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
12.04.2012, 00:39     Замена елементов в матрице #4
Выпендрёжный вариант:
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
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
12.04.2012, 00:40     Замена елементов в матрице #5
Устанавливает ширину поля, которое будет использовано при следующем выводе.

Не по теме:

Katusha11, в моем нике три буквы 'р'

Katusha11
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 23
12.04.2012, 00:49  [ТС]     Замена елементов в матрице #6
Петррр, извини за ник !
А в старом борланде будет работать эта функция или там ее можно просто убрать ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2012, 09:55     Замена елементов в матрице
Еще ссылки по теме:

Замена строки на столбец в матрице - C++
Разработать программу, которая в матрице размерности nxn меняет местами строку, содержащую элемент с минимальным значением со столбцом,...

Замена в матрице элементов, меньших 5 на 111 - C++
Дан целочисленный массив X. Заменить в нем все элементы, меньшие 5 числом 111.

Замена значения в матрице. Работает через раз. - C++
Задание: Составить программу на языке С++.В матрице размерности 10 на 6 найти номер первого из столбцов, не содержащих ни одного из...

Знаки елементов. - C++
Условие: Ввести с клавиатуры N элементов и проверить чередуются ли знаки. Если да , то вывести на экран &quot;знаки одинаковые&quot;. Если...


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
12.04.2012, 09:55     Замена елементов в матрице #7
Цитата Сообщение от Katusha11 Посмотреть сообщение
А в старом борланде будет работать эта функция или там ее можно просто убрать ?
С некоторыми изменениями будет, а вот с моим вариантом - точно не судьба.
C++
1
2
3
4
5
6
7
#include <iostream.h>
#include <iomanip.h>
 
int main() {
    cout << setw(3) << "a" << setw(5) << "b" << setw(7) << "c" << endl;
    return 0;
}
Замена елементов в матрице
Yandex
Объявления
12.04.2012, 09:55     Замена елементов в матрице
Ответ Создать тему
Опции темы

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