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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Редактирование строки http://www.cyberforum.ru/cpp-beginners/thread21600.html
Нужно редактировать текстовый файл таким образом: у нас есть определенное кол-во символов,которое может быть в строке(можно определить define'ом,пусть будет N) и нужно сделать так,чтобы в строке в...
C++ Программа, должна выполнять дочерный процесс и передавать ему параметр через его переменные окружения Программа, должна выполнять дочерный процесс и передавать ему параметр через его переменные окружения. В качестве параметра использовать название файла, который открывается. Проверить следующие... http://www.cyberforum.ru/cpp-beginners/thread21597.html
C++ Ширина столбцов матрицы
#include<stdio.h> #include<conio.h> #define A 3 #define B 2 int main() { int mass,i,j,a,b,s=0; clrscr(); printf("input mass\n"); for(i=0;i<A;i++)
Помогите! нужна простая программа C++
Всем привет, нуждаюсь в вашей помощи, мне нужна простая программа написанная на С++, не важно что она будет делать, главное чтобы в ней был цикл, желательно операторы if, for, switch. А также нужна...
C++ Сумма элементов в столбцах без отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread21551.html
Помогите,пожалуйста,написать программу,которая считала бы сумму элементов в столбцах,которые не содержат отрицательных элементов. #include "stdafx.h" #include <stdio.h> #include <conio.h>...
C++ Проверка входного потока на ошибки Ребяты подскажите плз )))) сам не как не разберусь можно ли использовать failbit badbit goodbit и eofbit для проверки потока вот в этом случае с циклом while Должно проверять правильно или... подробнее

Показать сообщение отдельно
Янус
0 / 0 / 0
Регистрация: 25.01.2009
Сообщений: 5
25.01.2009, 21:08
Т.е массив содержит элементы больше 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.