Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
korsika
0 / 0 / 0
Регистрация: 21.01.2009
Сообщений: 2
#1

Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента

24.01.2009, 20:01. Просмотров 1205. Ответов 3
Метки нет (Все метки)

Дан целочисленный массив А[N][М]. Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2009, 20:01
Ответы с готовыми решениями:

Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента
Дан массив A.Заменить все элементы массива с максимальным значением на сумму...

Заменить все элементы массива с отрицательным значением на значение минимального положительного элемента
Объявить массив целых чисел и заполнить его случайными значениями с помощью...

Одномерный массив. Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента.
тема массивы..(( заменить все элементы с отрицательным значением на значение...

Задачка на массив. Заменить все его элементы с отрицательным значением на значение минимального положительного элемента
Здравствуйте. Помогите решить задачу. Задан массив А(н). Заменить все его...

Сдвинуть все элементы на k позиций вправо, заполнив первые K элементов массива значением минимального элемента
2.Сдвинуть все элементы на k (k<n) позиций вправо ,заполнив первые K элементов...

3
Янус
0 / 0 / 0
Регистрация: 25.01.2009
Сообщений: 5
25.01.2009, 21:08 #2
Т.е массив содержит элементы больше 10 ?

Добавлено через 3 часа 37 минут 15 секунд
В общем решение этой проблемы мне видится так :
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include "stdafx.h"
#include <iostream>
using namespace std;
 
#define ELEMENT(p,i,j,n,m) ((p)[i+n*j])
#define ELEMENTE(p,i,j,n) ((p)[i+n*j])
class matrix {
    int size1;//stroki
    int size2;//stolbci
    int *p;
    int mem_size;
public:
    matrix(int n,int m);
    matrix(int n);
    ~matrix();
    int get(int i,int j);
    void put(int i,int j,int a);
    int max(matrix &a);
    int min(matrix &a);
    void zamena(matrix &a,int c,int d);
    //int get_size1();
    friend ostream & operator << (ostream &,const matrix &);
    friend istream & operator >> (istream &, const matrix &);
};
matrix::matrix(int n, int m)
{
    mem_size=m*n;
    p=new int [mem_size];
    if(p==NULL)
    {
        cout<<"No massiv";
        exit(1);
    }
    memset(p,0,mem_size*sizeof(int));
    size1=n;
    size2=m;
}
matrix::~matrix()
{
    delete [] p;
}
int  matrix::get(int i, int j)
{
    return ELEMENT(p,i,j,size1,size2);
}
void matrix::put(int i,int j,int a)
{
    ELEMENT(p,i,j,size1,size2)=a;
}
int matrix::max(matrix &a)
{
    int max=a.get(0,0);
    for (int i=0;i<a.size1;i++)
    {
        for(int j=0;j<a.size2;j++)
            if (a.get(i,j)>max)
            {
                max=a.get(i,j);
            }
    }
    return max;
}
int matrix::min(matrix &a)
{
    int min=a.get(0,0);
    for (int i=0;i<a.size1;i++)
    {
        for(int j=0;j<a.size2;j++)
            if (a.get(i,j)<min)
            {
                min=a.get(i,j);
            }
    }
    int min1=min/10;
    int min2=min%10;
    int minr=min1+min2;
 
    return minr;
    
}
void matrix::zamena(matrix &a,int c, int d)
{
 
     for (int i=0;i<a.size1;i++)
    {
        for(int j=0;j<a.size2;j++)
            if (a.get(i,j)==c)
            {
                a.put(i,j,d);
            }
    }
}
 
 
 
 
ostream & operator << (ostream & output,const matrix&a)
{
    for(int i=0;i<a.size1;i++)
    {
        output<<"Line"<<(i+1)<<":";
        for(int j=0;j<a.size2;j++)
            output << "\t" << ELEMENT(a.p,i,j,a.size1,a.size2);
        output<<endl;
    }
    return output;
}
istream & operator >> (istream & in,const matrix&a)
{
    for(int i=0;i<a.size1;i++)
    {
        for(int j=0;j<a.size2;j++)
        {
            cout <<"Element" << (i+1) << " " << (j+1) << ":";
            in >> ELEMENT(a.p,i,j,a.size1,a.size2);
        }
    }
    return in;
}
 
void main()
{
    int n,m,c,d;
    cout<<"Vvedite razmernost massiva: ";
    cout<<"Vvedite kolichestvo strok N ";
    cin>>n;
    cout<<"Vvedite kolichestvo stolbcov M ";
    cin>>m;
    matrix m1(n,m);
    cin >> m1;
    cout<<"\n";
    cout << m1;
    c=m1.max(m1);   
    d=m1.min(m1);
    cout << c <<endl;
    cout << d <<endl;
    m1.zamena(m1,c,d);
    cout<<m1;
 
}
Это вариант когда элементы массива больше либо равны 10 но меньше 100. Прога рабочая, если кто даст совет или замечания по коду буду рад.
0
plemiash
0 / 0 / 0
Регистрация: 13.01.2009
Сообщений: 17
25.01.2009, 21:44 #3
мне кажется ....в уловии чего то не хватает
0
xToTa
13 / 13 / 1
Регистрация: 26.01.2009
Сообщений: 162
26.01.2009, 14:15 #4
Я конечно извиняюсь, но этот вариант решения - чистая порнография
Можно почесать правое ухо левой рукой, но чтобы руку тянуть между ног, в гипсе, в подвешенном состоянии, держась правой ногой и левой почесывая спину - это жестоко...
Все гениальное просто...
2 for`а - пройтись по всей матрице найти минимальный элемент...
после этого 2 for`а - найти максимальный...
найти сумму цифр минимального элемента и снова 2 for`а с заменой максимального на найденную сумму....

И будет вам счастье
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2009, 14:15

Заменить все отрицательные элементы массива на значение минимального элемента
1) Задан массив из 6 действительных чисел. Заменить все элементы с...

Заменить все положительные элементы массива на значение минимального элемента
Заменить все положительные элементы целочисленного массива размера 10 на...

Заменить все элементы массива большие чем "a" значением максимального элемента этого массива
Всем драсте, в общем у меня такая же ситуация) помогите пожалуста написать...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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