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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
korsika
Сообщений: n/a
#1

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

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

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

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

Заменить все элементы массива с отрицательным значением на значение минимального положительного элемента - C++
Объявить массив целых чисел и заполнить его случайными значениями с помощью функций srand() и rand(). Размер массива и диапазон значений...

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

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

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

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

Заменить все минимальные элементы вектора максимальным значением его элементов - C++
2) заменить все минимальные элементы вектора максимальным значением его элементов

Заменить все элементы главной диагонали заданной матрицы значением первого элемента - C++
Дан двумерный статический массив действительных чисел размером 6х5. Заменить все элементы главной диагонали первым элементом.

Заменить все элементы массива средним значением - C++
Дан список вещественных массивов (максимально 30 массивов). Каждый массив задается одной строкой в формате: ИМЯ=, максимальная длина строки...

Заменить все положительные элементы массива максимальным - C++
Помогите пожалуйста.:) Создать одномерный массив из 10 случайных целых чисел из интервала от -10 до 10. Найти максимальный элемент...

Одномерный массив. Найти наименьший элемент, все нулевые элементы заменить значением этого элемента - C++
Ребят,помогите,пожалуйста, с массивом,вот задание: В массиве найти наименьший элемент.Вывести на дисплей полученное значение.После...

Заменить все нечетные элементы массива значением соответствующего индекса - C++
дан массив А(14) в массиве надо заменить все нечетные элементы его же индексом и из замененных элементов создать массив В; помогите...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Янус
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. Прога рабочая, если кто даст совет или замечания по коду буду рад.
plemiash
0 / 0 / 0
Регистрация: 13.01.2009
Сообщений: 17
25.01.2009, 21:44     Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента #3
мне кажется ....в уловии чего то не хватает
xToTa
13 / 13 / 0
Регистрация: 26.01.2009
Сообщений: 162
26.01.2009, 14:15     Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента #4
Я конечно извиняюсь, но этот вариант решения - чистая порнография
Можно почесать правое ухо левой рукой, но чтобы руку тянуть между ног, в гипсе, в подвешенном состоянии, держась правой ногой и левой почесывая спину - это жестоко...
Все гениальное просто...
2 for`а - пройтись по всей матрице найти минимальный элемент...
после этого 2 for`а - найти максимальный...
найти сумму цифр минимального элемента и снова 2 for`а с заменой максимального на найденную сумму....

И будет вам счастье
Yandex
Объявления
26.01.2009, 14:15     Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента
Ответ Создать тему
Опции темы

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