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

Элементы расположенные по периметру матрицы. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
DOLTRON
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 13
29.11.2011, 16:27     Элементы расположенные по периметру матрицы. #1
подскажите,как составить цикл для нахождения элементов по периметру через for.с++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 16:27     Элементы расположенные по периметру матрицы.
Посмотрите здесь:

Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию C++
C++ Определить сумму элементов, не принадлежащих периметру матрицы
Поменять местами элементы матрицы, расположенные в верхней и нижней четвертях C++
C++ Заполнить нулями элементы квадратной матрицы, расположенными по её периметру
C++ Вывести элементы матрицы, расположенные в строках с четными номерами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 16:33     Элементы расположенные по периметру матрицы. #2
C++
1
2
3
4
5
for ( int i = 0; i < N; i ++ )
{
         for(  int j = 0; j < M; j += M-1 )
         {}  
}
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,872
29.11.2011, 16:39     Элементы расположенные по периметру матрицы. #3
C++
1
2
3
4
5
for (i=0; i<N; i++) {
  for(j=0; j<M; j++) {
    if (i==0 || j==0 || i==N-1 || j==M-1) cout << "Yes";
  }
}
Не самый эффективный код, но работать должон
DOLTRON
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 13
29.11.2011, 16:50  [ТС]     Элементы расположенные по периметру матрицы. #4
где N - это столбцы?

Добавлено через 1 минуту
а исправил-теперь понял)спасибо)

Добавлено через 2 минуты
C++
1
2
3
4
5
for(i = 0; i < n; i ++ )
{
         for(j = 0; j < m; j += m-1 )
         {s=s+=matr[i][j];}  
}
почему не правильно считает?
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 16:55     Элементы расположенные по периметру матрицы. #5
Цитата Сообщение от DOLTRON Посмотреть сообщение
for(j = 0; j < m; j += m-1 )
{s=s+=matr[i][j];}
ибо это писец

s+= matr[i][j];
DOLTRON
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 13
29.11.2011, 17:04  [ТС]     Элементы расположенные по периметру матрицы. #6
считает не правильно все равно...
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 17:16     Элементы расположенные по периметру матрицы. #7
на тебе деревянный вариант
C++
1
2
3
4
5
    for ( int i = 0; i < N; i ++ )
        for ( int j = 0; j < M; )
            if ( i == 0 || i == N-1 ) { s+= matrix[i][j]; ; }
            else
                if ( j == 0 || j == M-1 ) { s+= matrix[i][j]; }
M__A__K
47 / 47 / 2
Регистрация: 09.11.2010
Сообщений: 306
29.11.2011, 17:21     Элементы расположенные по периметру матрицы. #8
C++
1
2
3
4
5
6
7
8
9
10
11
for ( int i = 0; i < N; ++i )
{
    s += matrix[i][0];
    s += matrix[i][M - 1];
}
 
for ( int j = 1; j < M - 1; ++j )
{
    s += matrix[0][j];
    s += matrix[N - 1][j];
}
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 17:23     Элементы расположенные по периметру матрицы. #9
Цитата Сообщение от M__A__K Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
for ( int i = 0; i < N; ++i )
{
    s += matrix[i][0];
    s += matrix[i][M - 1];
}
 
for ( int j = 1; j < M - 1; ++j )
{
    s += matrix[0][j];
    s += matrix[N - 1][j];
}
углы просуммируются дважды
M__A__K
47 / 47 / 2
Регистрация: 09.11.2010
Сообщений: 306
29.11.2011, 17:26     Элементы расположенные по периметру матрицы. #10
Цитата Сообщение от co6ak Посмотреть сообщение
углы просуммируются дважды
второй цикл проходит не с 0 до M - 1, а с 1 до M - 2. так что не дважды

а в вашем первом алгоритме не суммируются элементы первой строки и последней, кроме угловых
DOLTRON
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 13
29.11.2011, 17:38  [ТС]     Элементы расположенные по периметру матрицы. #11
сори ребят,сразу не сказал,что матрица не квадратная.По-этому и не робит.Как для не квадратной?
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 17:40     Элементы расположенные по периметру матрицы. #12
C++
1
2
3
4
5
6
7
    
int s = 0;
for ( int i = 0; i < N; i ++ )
        for ( int j = 0; j < M; j++)
            if ( i == 0 || i == N-1 ) { s+= matrix[i][j]; ; }
            else
                if ( j == 0 || j == M-1 ) { s+= matrix[i][j]; }
во. очепятка была. сумму обнуляешь хоть?
M__A__K
47 / 47 / 2
Регистрация: 09.11.2010
Сообщений: 306
29.11.2011, 17:40     Элементы расположенные по периметру матрицы. #13
Цитата Сообщение от DOLTRON Посмотреть сообщение
сори ребят,сразу не сказал,что матрица не квадратная.По-этому и не робит.Как для не квадратной?
также
N - количесто строк
M - количество столбцов

Цитата Сообщение от co6ak Посмотреть сообщение
сумму обнуляешь хоть
+1
DOLTRON
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 13
29.11.2011, 17:49  [ТС]     Элементы расположенные по периметру матрицы. #14
во. очепятка была. сумму обнуляешь хоть?
Конечно

Добавлено через 5 минут
для квадратной все правильно,иначе нет.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
29.11.2011, 17:52     Элементы расположенные по периметру матрицы. #15
но этого не может быть. ведь этого не может быть вообще
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 17:54     Элементы расположенные по периметру матрицы.
Еще ссылки по теме:

Матрицы. Отрицательные элементы матрицы, расположенные выше главной диагонали, заменить на квадраты их значений C++
Сохранить нулевые элементы матрицы, расположенные в шахматном порядке C++
C++ Отсортировать по убыванию элементы матрицы, расположенные после второго отрицательного числа

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

Или воспользуйтесь поиском по форуму:
M__A__K
47 / 47 / 2
Регистрация: 09.11.2010
Сообщений: 306
29.11.2011, 17:54     Элементы расположенные по периметру матрицы. #16
DOLTRON, если не получается, выложите весь код
Yandex
Объявления
29.11.2011, 17:54     Элементы расположенные по периметру матрицы.
Ответ Создать тему
Опции темы

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