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

Двумерный массив(квадратная матрица) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.97
femmedecouleur
 Аватар для femmedecouleur
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
20.12.2010, 18:07     Двумерный массив(квадратная матрица) #1
Мне нужна помощь в выполнении следующего задания:дано двумерный массив(квадратная матрица,которую должен вводить пользователь-тоесть задавать количество строк,столбцов и данные),в этом массиве необходимо поэлементно отнять последнюю строчку от всех предыдущих,кроме,естественно последней,а потом все элементы в массиве расположить по возрастанию.
Помогите!Очень нужно!Зарание спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
20.12.2010, 19:43     Двумерный массив(квадратная матрица) #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
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include<cstdlib>
#include<iomanip>
 
using namespace std;
 
int main(){
 
int i,j,n;
int jmax,imin;
cout<<"vvedi n:=";
cin>>n;
int a[n][n];
int c,b, x;
    for(i=0; i<n; i++){
        for(j=0; j<n; j++) {
         cout<<"a["<<i<<"]["<< j<<"]->";
         cin>>a[i][j];
         }
    }
    cout<<"pervonachal'naya matrix: "<<endl<<endl;
    for(i=0; i<n; i++){
       for(j=0; j<n; j++){
       cout<<setw(3)<<a[i][j];
       }
       cout<<endl<<endl;
    }
    cout<<endl;
    for(i=0; i<n-1; i++){
       for(j=0; j<n; j++){
       a[i][j]=a[i][j]-a[n-1][j];
       }
       cout<<endl<<endl;
    }
    cout<<"matrix posle vichitaniya: "<<endl<<endl;
    for(i=0; i<n; i++){
       for(j=0; j<n; j++){
       cout<<setw(3)<<a[i][j];
       }
       cout<<endl;
    }
    cout<<endl;
    for ( i = 0; i < n * n - 1; i++) {
            for ( j = i; j < n * n; j++) {
                if (a[i/n][i%n] > a[j/n][j%n]) {
                    x = a[i/n][i%n];
                    a[ i/n][i%n] = a[j/n][j%n];
                    a[j/n] [j%n] = x;
                }
            }
        }
    for(i=0; i<n; i++){
       for(j=0; j<n; j++){
       cout<<setw(3)<<a[i][j];
       }
       cout<<endl<<endl;
    }
system("PAUSE>>null");
return 0;
}
извращенно но работает

Добавлено через 37 минут
правильнее "извращенно написано", но работает)
femmedecouleur
 Аватар для femmedecouleur
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
20.12.2010, 20:03  [ТС]     Двумерный массив(квадратная матрица) #3
Compiling...
1111.cpp
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(6) : error C2871: 'std' : does not exist or is not a namespace
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(12) : error C2065: 'cout' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(12) : error C2297: '<<' : illegal, right operand has type 'char [10]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(13) : error C2065: 'cin' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(13) : warning C4552: '>>' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2057: expected constant expression
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2466: cannot allocate an array of constant size 0
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2057: expected constant expression
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2466: cannot allocate an array of constant size 0
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2087: '<Unknown>' : missing subscript
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2133: 'a' : unknown size
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(18) : error C2297: '<<' : illegal, right operand has type 'char [3]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(19) : warning C4552: '>>' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(22) : error C2297: '<<' : illegal, right operand has type 'char [26]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(22) : error C2065: 'endl' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(25) : error C2065: 'setw' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(25) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(27) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(29) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(34) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(36) : error C2297: '<<' : illegal, right operand has type 'char [27]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(39) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(41) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(43) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(55) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(57) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(59) : error C2065: 'system' : undeclared identifier

честно бесит...код то понятен...да немного извращён...но спасибо огромное!а вот что делать с этими ошибками???разве что сам компилятор быкует....
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
20.12.2010, 21:02     Двумерный массив(квадратная матрица) #4
Цитата Сообщение от femmedecouleur Посмотреть сообщение
Compiling...
1111.cpp
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(6) : error C2871: 'std' : does not exist or is not a namespace
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(12) : error C2065: 'cout' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(12) : error C2297: '<<' : illegal, right operand has type 'char [10]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(13) : error C2065: 'cin' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(13) : warning C4552: '>>' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2057: expected constant expression
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2466: cannot allocate an array of constant size 0
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2057: expected constant expression
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2466: cannot allocate an array of constant size 0
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2087: '<Unknown>' : missing subscript
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(14) : error C2133: 'a' : unknown size
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(18) : error C2297: '<<' : illegal, right operand has type 'char [3]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(19) : warning C4552: '>>' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(22) : error C2297: '<<' : illegal, right operand has type 'char [26]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(22) : error C2065: 'endl' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(25) : error C2065: 'setw' : undeclared identifier
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(25) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(27) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(29) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(34) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(36) : error C2297: '<<' : illegal, right operand has type 'char [27]'
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(39) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(41) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(43) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(55) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(57) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
C:\Documents and Settings\Admin\Рабочий стол\ООП1\1111\1111.cpp(59) : error C2065: 'system' : undeclared identifier

честно бесит...код то понятен...да немного извращён...но спасибо огромное!а вот что делать с этими ошибками???разве что сам компилятор быкует....
эт компилятор, у мя code::blocks 10.5 писал на нем
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
20.12.2010, 21:05     Двумерный массив(квадратная матрица) #5
eczo,
C++
1
2
3
cout<<"vvedi n:=";
cin>>n;
int a[n][n];
Это работает???
Дальше не смотрел.
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
20.12.2010, 21:11     Двумерный массив(квадратная матрица) #6
Цитата Сообщение от -comrade- Посмотреть сообщение
eczo,
C++
1
2
3
cout<<"vvedi n:=";
cin>>n;
int a[n][n];
Это работает???
Дальше не смотрел.
не повериш!!! работает и не ругается
femmedecouleur
 Аватар для femmedecouleur
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
21.12.2010, 19:59  [ТС]     Двумерный массив(квадратная матрица) #7
Ребята,спасибо огромное за помощь!Зачёт сдала на пять!Но пришлось немного подправить!Преподаватель настоял.=)Вот то,что исправлено:
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 <stdlib.h>
#include <conio.h>
#include <iomanip>
#include <ctime>
#define l 120    //задаём уже готовую максимальную размерность
 
using namespace std;
 
void main()
{
    srand(time(NULL));
    int i,j,n,x;
    cin>>n;
    cout<<endl;
    int a[l][l];
    cout<<"pervonachal'naya matrix: "<<endl<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            a[i][j]=rand()%20-10;//заполнение случайніми числами(это сама делала для наглядности)
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
    cout<<endl;
 
    for(i=0; i<n-1; i++)
    {
        for(j=0; j<n; j++)
        {
            a[i][j]-=a[n-1][j];//вот за эту строку наругал преподаватель"Что за Бейсик?"поэтому используем знак "-="
        }
    }
    cout<<endl;
    cout<<"matrix posle vichitaniya: "<<endl<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
    cout<<endl;
    for ( i = 0; i < n * n - 1; i++)
    {
        for ( j = i; j < n * n; j++)
        {
            if (a[i/n][i%n] > a[j/n][j%n])
            {
                x = a[i/n][i%n];
                a[i/n][i%n] = a[j/n][j%n];
                a[j/n] [j%n] = x;
            }
        }
    }
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
}
Ещё раз спасибо!
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
21.12.2010, 20:27     Двумерный массив(квадратная матрица) #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
for ( i = 0; i < n * n - 1; i++)
        {
                for ( j = i; j < n * n; j++)
                {
                        if (a[i/n][i%n] > a[j/n][j%n])
                        {
                                x = a[i/n][i%n];
                                a[i/n][i%n] = a[j/n][j%n];
                                a[j/n] [j%n] = x;
                        }
                }
        }
поздравляю.)) надеюсь за это не ругал?? за этот кусок больше всего можно было отгрести от препода(мой за такое выгнал бы с зачета старый черт)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2010, 04:35     Двумерный массив(квадратная матрица)
Еще ссылки по теме:

C++ Двумерный массив-матрица
Двумерный массив (матрица) C++
Матрица (двумерный массив). Преобразовать элементы построчно C++

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

Или воспользуйтесь поиском по форуму:
femmedecouleur
 Аватар для femmedecouleur
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
22.12.2010, 04:35  [ТС]     Двумерный массив(квадратная матрица) #9
он особо не придирался=)вовремя пришла=)много народу было=)но если бы Зеленский принимал,то 200 раз заставил бы переделать до блеска!
Yandex
Объявления
22.12.2010, 04:35     Двумерный массив(квадратная матрица)
Ответ Создать тему
Опции темы

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