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

Найти закономерности среди элементов матрицы - C++

Восстановить пароль Регистрация
 
-Victoria-
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 7
17.06.2014, 15:47     Найти закономерности среди элементов матрицы #1
Нужно сформировать матрицу вида:
15 14 13 12 11
6 7 8 9 10
5 4 3 2 1
15 14 13 12 11
6 7 8 9 10
Эту тему так и не поняла(
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 15:47     Найти закономерности среди элементов матрицы
Посмотрите здесь:

C++ Найти мин. значение среди элементов матрицы,расположенных в строках с нечетными номерами
C++ найти минимум среди максимальных элементов столбцов матрицы c++
Найти минимум среди максимальных элементов столбцов матрицы C++
C++ Найти максимальный элемент матрицы среди элементов, расположенных левее 4-го столбца
Программа с матрицами. Найти минимальное значение среди четных элементов матрицы и сумму положительных элемен-тов матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Exоrcist
 Аватар для Exоrcist
15 / 15 / 7
Регистрация: 20.02.2014
Сообщений: 86
17.06.2014, 16:00     Найти закономерности среди элементов матрицы #2
-Victoria-, просто на экран ее вывести?
-Victoria-
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 7
17.06.2014, 16:06  [ТС]     Найти закономерности среди элементов матрицы #3
Да ее просто нужно вывести на экран
Exоrcist
 Аватар для Exоrcist
15 / 15 / 7
Регистрация: 20.02.2014
Сообщений: 86
17.06.2014, 16:17     Найти закономерности среди элементов матрицы #4
-Victoria-, смотри что умею
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
using namespace std;
 
int main()
{
cout<<"15 14 13 12 11"<<endl;
cout<<"6  7  8  9  10"<<endl;
cout<<"5  4  3  2  1"<<endl;
cout<<"15 14 13 12 11"<<endl;
cout<<"6  7  8  9  10"<<endl;
system("pause");
}
Exоrcist
 Аватар для Exоrcist
15 / 15 / 7
Регистрация: 20.02.2014
Сообщений: 86
17.06.2014, 16:18     Найти закономерности среди элементов матрицы #5
Тестик:
Миниатюры
Найти закономерности среди элементов матрицы  
-Victoria-
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 7
17.06.2014, 16:30  [ТС]     Найти закономерности среди элементов матрицы #6
Та не так ты умеешь
надо там найти какую то зависимость, чтобы оно само так вывелось а не я сама данные ввела)
Exоrcist
 Аватар для Exоrcist
15 / 15 / 7
Регистрация: 20.02.2014
Сообщений: 86
17.06.2014, 16:58     Найти закономерности среди элементов матрицы #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от -Victoria- Посмотреть сообщение
Нужно сформировать матрицу вида:
Какой вопрос - такой ответ.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
17.06.2014, 17:18     Найти закономерности среди элементов матрицы #8
-Victoria-, сегодня влажновато и башка не варит. Вот топорный вариант:
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
#include <iostream>
 
using namespace std ;
 
int main()
{
    const int n = 5;
    int start;
int **matr = new int * [n];
for( int i = 0; i < n; ++i) matr[i] = new int [n];
for ( int i = 0; i < n; ++i){
    switch( i ){
case 0 : start = 15; break;
case 2 : start = 5; break;
case 3 : start = 15; break;
default: start = 6;
    }
 
for ( int j = 0; j < n; ++j){
if( i == 0 || i == 2 || i == 3 ) matr[i][j] =  start -- ;
else
 matr[i][j] =  start ++ ;
}
}
 
for( int i = 0; i < n; ++i){
for ( int j = 0; j < n; ++j) cout <<  matr[i][j] << " ";
cout << endl;
}
cout << endl;
system("pause") ;
return 0 ;
}
Trwsdf
Заблокирован
17.06.2014, 17:51     Найти закономерности среди элементов матрицы #9
C++
1
2
3
4
5
6
7
8
9
10
  int result[5][5];
    for (int row = 0, count1 = 15; row < 5; row++, count1 = 15) {
        for (int col = 0; col < 5; col++) {
            if (row % 3 == 0)result[row][col] = count1--;
            if ((row - 1) % 3 == 0)result[row][col] = count1++-9;
            if ((row - 2) % 3 == 0)result[row][col] = count1---10;
            cout << result[row] [col] << " ";
        };
        cout << endl;
    };
maisq
3 / 3 / 0
Регистрация: 13.10.2013
Сообщений: 35
17.06.2014, 18:36     Найти закономерности среди элементов матрицы #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  
int result[5][5];
int rows = 5;
int cols = 5;
start = 15;
 
 for (int i=0;i<rows ;i++){
        for (int j=0;j<cols ;j++){
    if(i%2==0)
            result[i][j]=start--;
    else
        result[i][n-j-1]=start--;
    }
}
Вот так просто моно
Trwsdf
Заблокирован
17.06.2014, 19:23     Найти закономерности среди элементов матрицы #11
Цитата Сообщение от maisq Посмотреть сообщение
Вот так просто моно
C++
1
2
3
4
    int result[5][5];
    for (int col = 0; col < 5; col++)
        for (int row[] = {0, -9 + 2 * col, -10, 0, -9 + 2 * col, 15 - col}; row[0] < 5; row[0]++)
            result[row[0]][col] = row[5] + row[row[0]];
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
17.06.2014, 20:12     Найти закономерности среди элементов матрицы #12
у меня есть интересный вариант (сразу выводит):
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
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    int rows = 5, cols = 5;
 
    if (rows * cols <= 0) return 0;
 
    int *m = new int[rows * cols];
 
    for (int i = 0, _t = 0xf, _tt = -1; i < rows; ++i, (_tt *= -1)) {
        for (int j = 0; j < cols; ++j, (_t += _tt))
            cout << (m[i * cols + j] = _t) << "\t";
        if (_t <= cols)
                (_tt *= -1), (_t = 0xf);
        else
            _t = m[i * cols + cols - 1] - cols;
        cout << endl;
    }
 
    delete [] m;
 
    _getch();
 
    return 0;
}
Да, говнокод =/, но вы посмотрите:
[8][3]:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
15 14 13
10 11 12
9  8  7
4  5  6
3  2  1
15 14 13
10 11 12
9  8  7

[5][4]:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
15 14 13 12
8  9  10 11
7  6  5  4
15 14 13 12
8  9  10 11

[5][6] (я думаю, в 3-ей строчке не должно быть так, но задача такая):
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
15 14 13 12 11 10
4  5  6  7  8  9
3  2  1  0  -1 -2
15 14 13 12 11 10
4  5  6  7  8  9
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 584
Завершенные тесты: 2
17.06.2014, 21:14     Найти закономерности среди элементов матрицы #13
Цитата Сообщение от IIARTEMII Посмотреть сообщение
(я думаю, в 3-ей строчке не должно быть так, но задача такая):
тогда почему во втором тесте у тебя только до
Цитата Сообщение от IIARTEMII Посмотреть сообщение
7 6 5 4
, хотя еще можно 3 2 1 0 ?
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
17.06.2014, 21:15     Найти закономерности среди элементов матрицы #14
mat_for_c, потому что > 0 (см первый пост - там 1)
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 584
Завершенные тесты: 2
17.06.2014, 21:25     Найти закономерности среди элементов матрицы #15
IIARTEMII, так у тебя получается 2-й тест не совпадает с 3-м. тут либо надо в 3-м строку удалять, либо во 2-м дописывать, или я не прав?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 22:24     Найти закономерности среди элементов матрицы
Еще ссылки по теме:

C++ Найти максимум среди минимальных элементов строк матрицы
C++ Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов
C++ Найти максимальный элемент среди положительных элементов матрицы А

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

Или воспользуйтесь поиском по форуму:
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
17.06.2014, 22:24     Найти закономерности среди элементов матрицы #16
Там достаточно 16 строчку исправить и Ваше недовольство будет исключено.
Чтобы проверять на возрастающую/убывающую последовательность необходимо ещё 1 строчку допилить - будет работать всегда и для всех чисел; но думать тоже надо, если вы не хотите получить что-то типа такого:
C++
1
2
3
4
5
15 14 13 12 11 10 9 8 7 6 5
15 14 13 12 11 10 9 8 7 6 5
15 14 13 12 11 10 9 8 7 6 5
15 14 13 12 11 10 9 8 7 6 5
15 14 13 12 11 10 9 8 7 6 5
А вообще, насколько я понял, там необходимо формировать матрицу до тех пор, пока не дойдём до <= 0, что в 3ем тесте соблюдается - мы уходим в отрицательные числа и начинаем формировать сначала от 15. При написании я решил сделать так, чтобы мы формировали последовательность от 15 при достижении единицы. Повторюсь - исправляется это в 16 строчке

Добавлено через 55 минут
ну вот, например:
перед main добавляем:
C++
1
#define iiif m[i * cols + cols - 1]
и:
C++
1
2
3
4
5
6
// заменяем 16 строчку
if (_t <= cols)
// на
if (iiif - _tt * cols < cols || iiif - cols < 0)
// и ещё у меня очепятка, в теле заменяем:
(_tt = -1), (_t = 0xf);
Исправляет Ваше замечание и уход в минус. В остальных случаях тоже вроде работает))
Yandex
Объявления
17.06.2014, 22:24     Найти закономерности среди элементов матрицы
Ответ Создать тему
Опции темы

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