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

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

Войти
Регистрация
Восстановить пароль
 
Micvist
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 10
#1

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

12.01.2012, 04:26. Просмотров 749. Ответов 9
Метки нет (Все метки)

Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 04:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. (C++):

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

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

Дана матрица 3x3. Заменить все элементы выше главной диагонали на максимальный элемент матрицы - C++
Дана матрица 3x3. Заменить все элементы выше главной диагонали на максимальный элемент матрицы

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

Дана прямоугольная матрица. Заменить строку, на элементы главной диагонали - C++
Здравствуйте дороги форумчане! есть задачка и ее я вот ни как не могу решить. Буду очень благодарен если поможете. Условия задачи таковы:...

[C++] Дана квадратная матрица состоящая из натруальных чисел. Надо заменить нулями элементы, расположенные на главной диагонали и выше её - C++
Напишите пожалуйста код. Очень надо ):)

9
ПавелКалашников
16 / 16 / 4
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
12.01.2012, 04:44 #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;
      }
    } 
  }
  // вывод матрицы
}
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
12.01.2012, 05:05 #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 ] );
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
12.01.2012, 05:30 #4
Тогда уж и вовсе так:
C++
1
2
for(int i = 0;i<3;++i)
    A[i][i] = std::abs(A[i][i]);
0
ПавелКалашников
16 / 16 / 4
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
12.01.2012, 09:51 #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]);
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.01.2012, 10:44 #6
Цитата Сообщение от ПавелКалашников Посмотреть сообщение
У вас здесь этого нет.
Есть, переменные i и j всегда будут равны. А вот смысла в этом, конечно, уже нет.
0
ПавелКалашников
16 / 16 / 4
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
12.01.2012, 11:06 #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]));
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.01.2012, 11:27 #8
Цитата Сообщение от ПавелКалашников Посмотреть сообщение
Ну и классика C - решение в одну строку!
Это скорее уж классика говнокода. И проверять отрицательность элемента не надо - это сделает функция abs. И да, это все же C++, а не Си.
0
vndtta
90 / 67 / 13
Регистрация: 17.10.2011
Сообщений: 235
Завершенные тесты: 1
12.01.2012, 11:31 #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]);
0
Micvist
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 10
12.01.2012, 15:37  [ТС] #10
Хе парни Спасибо вам большое, осталось разобраться, что есть что=) а то я полный ноль в си, а допуск к экзамену надо иметь...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2012, 15:37
Привет! Вот еще темы с ответами:

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

Дана матрица как выписать все элементы матрицы,находящиеся выше главной диагонали? - C++
Помогите ,пожалуйста, с решением этой задачи. Задача:Дана квадратная матрица целых чисел.Выписать все элементы матрицы,находящиеся...

Заменить отрицательные числа из заданных их абсолютными значениями - C++
Заданы три целых числа. Заменить отрицательные числа их абсолютными значениями. Вывести на экран значения поле изменения

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


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
12.01.2012, 15:37
Ответ Создать тему
Опции темы

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