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

матрица T(N,M), замена элементов - C++

Восстановить пароль Регистрация
 
steal.mn
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 4
22.10.2010, 20:43     матрица T(N,M), замена элементов #1
Помогите пожалуйста, мозги кипят уже.
В заданной матрице T(N,M), которая содержит только целые числа, заменить первый не положительный элемент максимальным элементом матрицы. Если не положительных элементов нет, то вывести соответствующие текст.
Размеры матрицы N=7, M=5;
числа матрицы от -12 до 23
язык: С

 Комментарий модератора 
Кросспостинг запрещен правилами форума (п. 3.4).
Не плодите одинаковых тем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2010, 20:43     матрица T(N,M), замена элементов
Посмотрите здесь:

Массив(Замена выбранных элементов). Область памяти(замена выбранных элементов) C++
C++ Массив, матрица и замена букв
C++ Матрица, Произведение элементов в тех строках,который не содержат отрицательных элементов
матрица и замена столбцов C++
Дана матрица A(N,M). Найти колличество элементов этой матрицы , больше среднего арифметического всех её элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DAgot_
 Аватар для DAgot_
22 / 22 / 1
Регистрация: 03.01.2010
Сообщений: 68
22.10.2010, 21:05     матрица T(N,M), замена элементов #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
int max=0;
for(int i=0; i<N; i++){
    for(int j=0; j<M; j++){
        if(max<T[i][j])
            max=T[i][j];
    }
}
 
int no;
for(int i=0; i<N; i++){
    for(int j=0; j<M; j++){
        if(T[i][j]<0){
            T[i][j]=max;
            break;
        }
        else{
            no++;
        }
    }
}
 
if(no == N*M)
    printf("net otricatel'nyh");
Это основная часть. Надеюсь массив сами заполните.
steal.mn
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 4
22.10.2010, 21:28  [ТС]     матрица T(N,M), замена элементов #3
Спасибо!
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
22.10.2010, 23:41     матрица T(N,M), замена элементов #4
На С++

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <ctime>
#include <iomanip>
 
using std::cout;
using std::cin;
using std::endl;
using std::setw;
 
int main()
{
    srand(static_cast<int>(time(NULL)));
    setlocale(LC_ALL,"Russian");
    const int m=7;
    const int n=5;
    int max, negative, k=0,temp;
    int count_max_i, count_max_j, count_negative_i, count_negative_j;
    int arr[m][n];
    cout<<"CФормированая матрица:"<<endl;
     for(int i=0; i<m; i++)
      {
          for(int j=0; j<n; j++)
          {
               arr[i][j]=rand()%23-12;
               cout<<setw(4)<<arr[i][j]<<setw(4);
          }
        cout<<endl;  
      }
     max = arr[0][0];
     for(int i=0; i<m; i++)
      {
          for(int j=0; j<n; j++)
          {
               if(arr[i][j]>max)
               {
                   max = arr[i][j];
                   count_max_i=i;
                   count_max_j=j;
               }
               if(arr[i][j]<0 && k==0)
               {
                   negative = arr[i][j];
                   count_negative_i = i;
                   count_negative_j = j;
                   k++;
               }
          } 
      }
     cout<<endl<<"Max is "<<max<<endl;
     cout<<"First negative is "<<negative<<endl;
     cout<<"Новая матрица: "<<endl;
     for(int i=0; i<m; i++)
      {
          for(int j=0; j<n; j++)
          {
               if(arr[count_negative_i][count_negative_j])
               {
                   temp=arr[count_negative_i][count_negative_j];
                   arr[count_negative_i][count_negative_j]=arr[count_max_i][count_max_j];
                   arr[count_max_i][count_max_j]=temp;
                   // break;
               }
             cout<<setw(4)<<arr[i][j]<<setw(4);
          } 
         cout<<endl;
      }
        
    system("pause");
    return 0;
}
Yandex
Объявления
22.10.2010, 23:41     матрица T(N,M), замена элементов
Ответ Создать тему
Опции темы

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