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

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

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

Матрица - C++

29.01.2011, 18:50. Просмотров 776. Ответов 17
Метки нет (Все метки)

Задача:Дана прямоугольная матрица A (N, M) (N<=M, M<=15). Найти максимальный элемент в каждой строке. Сформировать массив B из найденных элементов.

Отредактируйте пожалуйста код,я только начинаю программировать поэтому требуется посторонная помощь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<conio.h>
using namespace std;
void main()
{
    int i,j,max;
    int B[];
    int N=10;
    int M=15;
    int A[N][M];
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
            {max=A[j];
        if(A[j+1]>A[j]) max=A[j+1];}
    }
            for(i=0;i<N;i++)
            {
                for(j=0;j<N;j++)
                cout<<B[i][j];
            }
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2011, 18:50     Матрица
Посмотрите здесь:

C++ Матрица.Си
C++ Матрица.
C++ матрица
матрица C++
Матрица C++
Матрица C++
C++ матрица...(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.01.2011, 19:08     Матрица #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
#include<iostream>
#include<conio.h>
using namespace std;
void main()
{
        int max;
        int B[10] = {'\0'};
        const int N=10;
        const int M=15;
        int A[N][M];
 
        for(int i=0; i<N;i++){
            max=A[i][0];
            for(int j=0;j<M;j++){
                if(max<A[i][j]){
                    max = A[i][j];
                    B[i]=max;}
            }
        }
 
        for(int i=0; i<N;i++){
            cout<<B[i];}
    
 getch();
}
ваш вариант.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<conio.h>
using namespace std;
void main()
{
        int i,j,max;
        int B[]; // размерность массива необходимо задавать сразу.
        int N=10;
        int M=15;
        int A[N][M];
        for(i=0;i<N;i++) // переменные для инкриминации задавать лучше в объявлении цикла.
        {
                for(j=0;j<N;j++)
                        {max=A[j]; // A[][] и A[] - разные вещи
                if(A[j+1]>A[j]) max=A[j+1];} // тут вообще если честно не понял ничего))
        }
                        for(i=0;i<N;i++)
                        {
                                for(j=0;j<N;j++)
                cout<<B[i][j]; B[] и B[][] - разные вещи опять же
                        }
 getch();
}
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
29.01.2011, 22:03     Матрица #3
Цитата Сообщение от NiRamz Посмотреть сообщение
int B[];
ну и вопрос от меня.
Насколько я знаю объявить массив так можно только char и string, так?
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.01.2011, 22:12     Матрица #4
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
ну и вопрос от меня.
Насколько я знаю объявить массив так можно только char и string, так?
Нет, при таком обявление масива, его нужно инициализировать сразу, и тип здесь роли не играет.
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
29.01.2011, 22:12     Матрица #5
asics, я видел что то такое
C++
1
char a[];
или точно не помню
C++
1
char *a[];
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.01.2011, 22:14     Матрица #6
^Tecktonik_KiLLeR, Компилирую следующий код:
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
    char a[];
    return 0;
}
Результат:
Код
C:\Documents and Settings\Kolia\Рабочий стол\main.cpp:5:12: error: storage size of 'a' isn't known
Видить можно многое - не факт что это верно.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.01.2011, 22:15     Матрица #7
^Tecktonik_KiLLeR немножко не так,
C++
1
int *B = new int[];
sandye51
программист С++
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
29.01.2011, 22:37     Матрица #8
NiRamz, бредятина какая-то) кому только нужно так писать по извращенски
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.01.2011, 22:42     Матрица #9
почему бредятина то? если нам необходим динамический массив, то я вижу пару путей.
1. использовать vector
2. использовать конструкцию, которую я написал выше
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.01.2011, 22:46     Матрица #10
NiRamz, А вы пробовали компилировать, вашу так-званую "конструкцию", именно что бы скобки были пустые ?
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.01.2011, 22:49     Матрица #11
asicsкомпилируется без проблем, но вылетает исключение если прежде чем начать заполнять его не определить размер.. более или менее общую конструкцию написал)
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.01.2011, 23:11     Матрица #12
Цитата Сообщение от NiRamz Посмотреть сообщение
asics компилируется без проблем,
.....
Миниатюры
Матрица  
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.01.2011, 23:18     Матрица #13
забыл оговориться, что стоит visual studio 2008.)
Миниатюры
Матрица  
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
29.01.2011, 23:19     Матрица #14
NiRamz, asics, у меня тоже 2008
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.01.2011, 23:19     Матрица #15
Мда, фигня какая-то получаеться
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
29.01.2011, 23:20     Матрица #16
asics, у тебя как понял 2010?
NiRamz
29.01.2011, 23:22
  #17

Не по теме:

каждый оказался по своему прав ..))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2011, 23:23     Матрица
Еще ссылки по теме:

Матрица C++
C++ матрица
C++ Матрица...
матрица C++
Матрица. С++ C++

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.01.2011, 23:23     Матрица #18
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
asics, у тебя как понял 2010?
Нет, Code::Blocks.
Yandex
Объявления
29.01.2011, 23:23     Матрица
Ответ Создать тему
Опции темы

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