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

Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. - C++

Восстановить пароль Регистрация
 
Micvist
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 10
12.01.2012, 04:26     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #1
Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 04:26     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями.
Посмотрите здесь:

C++ Заменить на главной диагонали все отрицательные элементы их абсолютными значениями
[C++] Дана квадратная матрица состоящая из натруальных чисел. Надо заменить нулями элементы, расположенные на главной диагонали и выше её C++
C++ Дана квадратная вещественная матрица размерности n. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее
C++ Дана матрица как выписать все элементы матрицы,находящиеся выше главной диагонали?
Дана квадратная матрица. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ПавелКалашников
16 / 16 / 4
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
12.01.2012, 04:44     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main() {
  // ввод матрицы
  for (int i = 0; i < sizeX; i++) {
    for (int j = 0; j < sizeY; j++) {
      if ((j == sizeX - i) && (a[i][j] < 0)) {
        a[i][j] *= -1;
      }
    } 
  }
  // вывод матрицы
}
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
12.01.2012, 05:05     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #3
C++
1
2
3
4
   int i = 0;
   for ( int j = 0; j < size; j++, i++ )
       if ( a[ i ][ j ] < 0 )
       a[ i ][ j ] = std::abs( a[ i ][ j ] );
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
12.01.2012, 05:30     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #4
Тогда уж и вовсе так:
C++
1
2
for(int i = 0;i<3;++i)
    A[i][i] = std::abs(A[i][i]);
ПавелКалашников
16 / 16 / 4
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
12.01.2012, 09:51     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #5
В задаче было сказано, на главной диагонали.
У вас здесь этого нет.
Цитата Сообщение от Toshkarik Посмотреть сообщение
int i = 0;
for ( int j = 0; j < size; j++, i++ )
if ( a[ i ][ j ] < 0 )
a[ i ][ j ] = std::abs( a[ i ][ j ] )
А здесь не главная диагональ, а побочная или я что-то путаю.
Цитата Сообщение от I.M. Посмотреть сообщение
for(int i = 0;i<3;++i)
A[i][i] = std::abs(A[i][i]);
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
12.01.2012, 10:44     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #6
Цитата Сообщение от ПавелКалашников Посмотреть сообщение
У вас здесь этого нет.
Есть, переменные i и j всегда будут равны. А вот смысла в этом, конечно, уже нет.
ПавелКалашников
16 / 16 / 4
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
12.01.2012, 11:06     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #7
Ну тогда вот так можно, чтобы уж совсем красиво.
Цитата Сообщение от ПавелКалашников Посмотреть сообщение
C++
1
2
3
 for (int i = 0; j = 0; j < size; j++, i++)
 if ( a[ i ][ j ] < 0 )
 a[ i ][ j ] = std::abs( a[ i ][ j ] )
Добавлено через 4 минуты
Ну и классика C - решение в одну строку!
C++
1
for (int i = 0; j = 0; j < size; (a[i][j] < 0) : (a[i][j] = std::abs(a[i][j])) ? (a[i][j] = a[i][j]));
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
12.01.2012, 11:27     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #8
Цитата Сообщение от ПавелКалашников Посмотреть сообщение
Ну и классика C - решение в одну строку!
Это скорее уж классика говнокода. И проверять отрицательность элемента не надо - это сделает функция abs. И да, это все же C++, а не Си.
vndtta
66 / 43 / 5
Регистрация: 17.10.2011
Сообщений: 146
Завершенные тесты: 1
12.01.2012, 11:31     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #9
Цитата Сообщение от ПавелКалашников Посмотреть сообщение
Ну тогда вот так можно, чтобы уж совсем красиво.
...
Ну и классика C - решение в одну строку!
C++
1
for (int i = 0; j = 0; j < size; (a[i][j] < 0) : (a[i][j] = std::abs(a[i][j])) ? (a[i][j] = a[i][j]));
ты хоть бы проверил для начала

вот правильный и простой код, че мучаетесь?
Цитата Сообщение от I.M. Посмотреть сообщение
Тогда уж и вовсе так:
C++
1
2
for(int i = 0;i<3;++i)
    A[i][i] = std::abs(A[i][i]);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2012, 15:37     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями.
Еще ссылки по теме:

C++ Матрица. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее
Дана матрица 3x3. Заменить все элементы выше главной диагонали на максимальный элемент матрицы C++
Дана прямоугольная матрица. Заменить строку, на элементы главной диагонали C++

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

Или воспользуйтесь поиском по форуму:
Micvist
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 10
12.01.2012, 15:37  [ТС]     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. #10
Хе парни Спасибо вам большое, осталось разобраться, что есть что=) а то я полный ноль в си, а допуск к экзамену надо иметь...
Yandex
Объявления
12.01.2012, 15:37     Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями.
Ответ Создать тему
Опции темы

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