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

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

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

В матрице A(m,n) все не нулевые элементы заменить обратными по величине и противоположными по знаку - C++

09.01.2013, 13:37. Просмотров 482. Ответов 3
Метки нет (Все метки)

Вот задание: В матрице A(m,n) все не нулевые элементы заменить обратными по величине и противоположными по знаку.

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
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
const int M=30;
const int N=30;
 
int main() {
    int m,n;
 
    int matr[M][N];
    cout<<"Введите кол-во строк матрицы:"<<endl;
    cin>>m;
    cout<<"Введите кол-во столбцов матрицы:"<<endl;
    cin>>n;
    form(matr[][N],m,n);
    print(matr[][N],m,n);
      for(int i=0; i<m; i++)
          for (int j=0; j<n; j++)
              if (matr[i][j]!=0)
                  matr[i][j]=-1/matr[i][j];
      print(matr[][N],m,n);
      return 0;
}
 int form(int arr[][N], int k, int l)
 { cout<<"Ввод элементы матрицы:"<<endl;
 for(int i=0;i<k;i++)
     for(int j=0;j<l;j++)
        cin>>matr[i][j];
 return 0;
 }
 int print(int arr[][N],int k, int l)
 { cout<<"Матрица:"<<endl;
 for(int i=0;i<k;i++)
    {for (int j=0;j<n;j++)
        cout<<setw(8)<<arr[i][j];
    cout<<endl;
 
    }
         return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В матрице A(m,n) все не нулевые элементы заменить обратными по величине и противоположными по знаку (C++):

В матрице все ненулевые элементы заменить обратными по величине и противоположными по знаку - C++
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот...

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

Заменить все отрицательные элементы противоположными им числами - C++
помогите пжлст)))

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

Заменить все отрицательные элементы последовательности не кратные 3 противоположными им числам - C++
Ребят, помогите с++ Заменить все отрицательные элементы, не кратные 3, противоположными им числам

Заменить все элементы k-й строки и s-го столбцаматрицы на противоположные по знаку - C++
заменить все элементы k-й строки и s-го столбца двумерного массива на противоположные по знаки(элемент,стоящий на пересечение,не изменять)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
09.01.2013, 13:49 #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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main() 
{
    srand(time(0));
    const int rows = 5;
    const int colls = 4;
    int matrix[rows][colls];
    
    std::cout << "Matrix: " << std::endl;
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < colls; j++)
            std::cout << std::setw(5) << (matrix[i][j] = rand() % 5);
        std::cout << std::endl;
    }
    
    std::cout << "New matrix: " << std::endl;
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < colls; j++) 
            std::cout << std::setw(5) << (matrix[i][j] = (matrix[i][j]) ? (matrix[i][j] * (-1)) : matrix[i][j]);
        std::cout << std::endl;
    }
    
    system("pause");
    return 0;
}
0
Artem13rus
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 3
09.01.2013, 14:08  [ТС] #3
у тебя просто знак не нулевых элементов меняется на противоположный, нужно ещё перед этим заменить не нулевые значения заменить обратными по величине.
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
09.01.2013, 14:51 #4
Artem13rus, ошибся. Не хватает извилин даже это исправить? у самого же в коде даже написано как правильно.

Добавлено через 1 минуту
Цитата Сообщение от Artem13rus Посмотреть сообщение
C++
1
-1/matr[i][j]
Цитата Сообщение от Ev[G
eN;3973419]
C++
1
(matrix[i][j] * (-1))
никак?
C++
1
(-1 / matrix[i][j])
Добавлено через 3 минуты
короче..
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main() 
{
    srand(time(0));
    const int rows = 5;
    const int colls = 4;
    double matrix[rows][colls];
    
    std::cout << "Matrix: " << std::endl;
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < colls; j++)
            std::cout << std::setw(5) << (matrix[i][j] = rand() % 5);
        std::cout << std::endl;
    }
    
    std::cout << "New matrix: " << std::endl;
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < colls; j++) 
            std::cout << std::setw(8) << std::setprecision(1) << (matrix[i][j] = (matrix[i][j]) ? (-1. / matrix[i][j]) : matrix[i][j]);
        std::cout << std::endl;
    }
    
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2013, 14:51
Привет! Вот еще темы с ответами:

Все отрицательные элементы массива уменьшить в двое, а все нулевые элементы заменить на... - C++
Задан массив М, состоящий из К строк и N столбцов. Все отрицательные элементы уменьшить в двое, а все нулевые элементы заменить на – 0.1.

Заменить все элементы столбца матрицы с заданным индексом на противоположные по знаку - C++
Дан массив А. Заменить все элементы столбца двумерного массива с номером К (K вводится с клавиатуры) на противоположные по знаку. на...

Все нулевые элементы матрицы заменить на единицу - C++
Условие: Все нулевые элементы заменить на единицу! Во второй строке у меня там изменённый масив но там выводит нули одни! Почему? ...

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


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

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

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