korsika
1

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

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

Дан целочисленный массив А[N][М]. Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2009, 20:01
Ответы с готовыми решениями:

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

Все нулевые элементы массива заменить значением минимального элемента
В массиве найти наименьший элемент. Вывести на дисплей полученное значение. После этого изменить...

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

Заменить все положительные элементы матрицы значением максимального, а отрицательные - значением минимального элемента
Нужна помощь в написании программы на Java. Дано матрицу A . Элементы матрицы нужно ввести с...

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

И будет вам счастье
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2009, 14:15

В двух последовательностях замените все элементы, следующие за элементом с максимальным значением, на значение минимального элемента
пусть дан фрагмент программы: var S: set of char; c,d: char присвойте переменной перечисленные ниже...

Заменить в массиве все отрицательные элементы значением минимального элемента
Ввести одномерный массив x={-1.5,0.1,12,0,-2.2,0.5,-1,0.3} Заменить в нем все отрицательные...

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

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


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

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

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