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

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

Войти
Регистрация
Восстановить пароль
 
 
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
#1

Матрицы. - C++

07.06.2010, 15:28. Просмотров 939. Ответов 23
Метки нет (Все метки)

Помогите с программой!
Найти в матрице первую строку, все элементы которой положительны
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2010, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрицы. (C++):

Матрицы. Найти и распечатать сумму элементов 5-го столбца матрицы А и сумму элементов последней строки матрицы В - C++
Даны две матрицы А(mxn)и В(m1xn1).программа находит и распечатывает сумму элементов 5-го столбца матрицы А и сумму элементов последней...

Поменять большие элементы в строке матрицы с маленькими элементами этой же матрицы - C++
Дана мне задача надо заменить большие элементы в строке матрицы с маленькими элементами этой же матрицы. Помогите пацаны

Найти количество элементов матрицы, которые совпадают с элементами другой матрицы - C++
Помогите найти количество элементов 2 мерного массива, которые совпадают с элементами другого аналогичного массива. Массив 5х3.

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

Алгоритм обработки матрицы: Нахождение максимального элемента матрицы и его номера. - C++
Алгоритм обработки матрицы: Нахождение максимального элемента матрицы и его номера.

Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии матрицы - C++
Здравствуйте! Помогите написать 3 программмы на C++ на задачи с двумерными массивами 3. Дана матрица размера M x N. Зеркально...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
07.06.2010, 15:36 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int pos_el (int x)
{
    return (x>0);
}
 
// Row-количество строк, Column-количетство столбцов.
    
    int count;
    for (int i=0; i<Row; i++) {
        count=0;
        count=std::count_if (MAS[i], MAS[i]+Column, pos_el);
        if (!(count)) std::cout << i << "row.\n";
        break; }
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 17:06  [ТС] #3
А что означает count? И можно ли заменить :: на стандартный вариант, мне так будет понятнее?))
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
07.06.2010, 17:13 #4
Ну считайте в строчке кол-во отрицательных элементов.
Если оно равно нулю, все, нашли.
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 17:23  [ТС] #5
А вот эту строку count=std::count_if (MAS[i], MAS[i]+Column, pos_el); можно написать более понятно и просто? Например, заменить :: и что значит count_if ?
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
07.06.2010, 17:24 #6
Да, можно.
Я же сказал, считайте в ручную кол-во отрицательных элементов в строке.
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 17:29  [ТС] #7
Как это "в ручную"? Исправьте, пожалуйста, прог-у, чтобы она была максимально проста и понятна, я всё-таки начинающий программист))) буду очень признательна!
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
07.06.2010, 17:31 #8
Как "начинающий программист", вы должны такое уметь, хотя бы попытаться.

C++
1
2
3
4
5
6
7
8
9
    int count;
    for (int i=0; i<Row; i++) {
        count=0;
        for (int j=0; j<Column; j++)
            if (MAS[i][j]<0) count++;
        if (!(count)) {
                std::cout << i << "row.\n";
                break; }
    }
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 18:04  [ТС] #9
А можно полностью прог-у, с началом и концом?
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
07.06.2010, 18:05 #10
Вы вообще не понимаете о чем идет речь?
Попробуйте сами.
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 18:10  [ТС] #11
Да не получается у меня самой! Ошибки выдает. Пожалуйста, разместите программу!
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
07.06.2010, 18:14 #12
Покажите код, где ошибки выдает (;
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 18:19  [ТС] #13
Выдает, не указан массив
0
pannaruto
11 / 11 / 2
Регистрация: 12.05.2010
Сообщений: 29
07.06.2010, 19:14 #14
Попробуй этот код. Если что-нибудь не понимаете, пишите, обязательно объясню
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
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
#define max 50
 
/* Поиск строки по заданию
 *      + Если есть такая то возвращается номер строки
 *      + Если нет то возвращается значение -1
 **/
int findFirstRow( const int arr[][max], int const& nArr )
{
    for( int row = 0; row < nArr; row++ )
    {
        int col;
 
        for( col = 0; col < nArr; col++ )
            if( arr[row][col] < 0 )
                break;
 
        if( col == nArr )
            return row;
    }
    return -1;
}
 
// Вывод на экран данной матрицы
void display( const int arr[][max], int const& nArr )
{
    for( int row = 0; row < nArr; row++ )
    {
        for( int col = 0; col < nArr; col++ )
            cout << setw(3) << arr[row][col];
        cout << "    Row " << row << endl << endl;
    }
}
 
int main()
{
    int a[max][max];
    int na = 10;
 
    // Генерирование случайной матрицы a размер ( na x na )
    srand( (unsigned)time(NULL));
    for( int row = 0; row < na; row++ )
        for( int col = 0; col < na; col++ )
            a[row][col] = rand() % 20 - 5;
    
    cout << "Matrix :\n\n";
    display( a, na );
    cout << "\n\nResult : row " << findFirstRow( a, na ) << endl;
 
    system("pause");
    return 0;
}
0
Прекрасная
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
07.06.2010, 19:38  [ТС] #15
Ох, как сложно! Вот мы строку и столбец обозначаем i и j, ну это понятно (row и col, я так понимаю). А остальное(( ЗАчем нужно генерирование случайной матрицы? Зачем так много функций? И размер как можно меньше можно взять, наверное... Помогите, пожалуйста, с этой программой!!!!

Добавлено через 2 минуты
И ещё, матрица, наверное, должна вводиться с клавиатуры...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2010, 19:38
Привет! Вот еще темы с ответами:

Для матрицы найти такие k, что k-я строка матрицы совпадает с k-м столбцом - C++
Помогите решить задачку Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Найти...

Вычесть из элементов первого столбца матрицы значение максимального элемента матрицы - C++
Составить программу, в которой 1) организовать ввод матрицы размера mxn из целых чисел; 2) вычесть из элементов первого столбца матрицы...

Матрицы. Программа, которая удаляет столбец матрицы, содержащий максимальный ее элемент - C++
Я новичок в с++...поэтому оооочень нужна Ваша помощь!!! Необходимо написать программу, которая удаляет столбец матрицы, содержащий...

Сформировать одномерный массив из диагональных элементов матрицы. Найти след матрицы - C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.06.2010, 19:38
Ответ Создать тему
Опции темы

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