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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.97
femmedecouleur
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
#1

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

20.12.2010, 18:07. Просмотров 5001. Ответов 8
Метки нет (Все метки)

Мне нужна помощь в выполнении следующего задания:дано двумерный массив(квадратная матрица,которую должен вводить пользователь-тоесть задавать количество строк,столбцов и данные),в этом массиве необходимо поэлементно отнять последнюю строчку от всех предыдущих,кроме,естественно последней,а потом все элементы в массиве расположить по возрастанию.
Помогите!Очень нужно!Зарание спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2010, 18:07     Двумерный массив(квадратная матрица)
Посмотрите здесь:

Двумерный массив (квадратная матрица) - C++ - C++
Помогите Вот задача 6. В квадратной матрице найти С6х6 сумму элементов, находящихся по периметру.

Двумерный массив: целочисленная квадратная матрица - C++
Вот ещё программка нужна, теперь уже массив двумерный

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

Двумерный массив (матрица) - C++
Задание: Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых преобразований привести...

Двумерный массив-матрица - C++
помогите,пожалуйста. Нужно составить программу, которая выводит на экран квадратную матрицу A размером n*n . Входные данные: n – порядок...

двумерный массив ( матрица ) - C++
Для заданной матрицы размером 8х8. Найдите: 1). Такие j i k, когда j -я строка матрицы совпадает из k -м столбиком 2). Сумму элементов...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
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
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++
1.Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все положительные элементы, а в конец массива - все...

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

Матрица (двумерный массив). Преобразовать элементы построчно - C++
Ребят,всем добрый вечер ! Очень и очень срочно нужна помощь,вообще не пойму как делать ...помогите пжл Дано такое задание : Каждый...

Разработать класс "Квадратная матрица"; создать массив матриц и найти в нём матрицу, удовлетворяющую условию - C++
Доброго времени суток!Нужно разработать класс матриц размера 3x3.Переопределить операции сложения, вычитания матриц, прибавления к каждому...

Квадратная матрица - C++
Помогите сформировать такую матрицу: Как правильно сдвигать эл массива в право?


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

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

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