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

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

Войти
Регистрация
Восстановить пароль
 
Pro100NoObik
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 12
#1

Переписать код с использованием функций - C++

20.03.2014, 03:40. Просмотров 238. Ответов 3
Метки нет (Все метки)

Народ, помогите плиз. надо переписать этот код так, чтобы были функции
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
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <cmath>
using namespace std;
char bufRus[256];
char *Rus(const char *text)
{
    CharToOem(text,bufRus);
    return bufRus;
}
 
int main ()
{
    const int n=5; 
    int a[n][n], i,j,  sum=0, col=0;
    for(i=0; i<n; i++)
    for(j=0; j<n; j++)
        a[i][j]=rand()%5+1;
        cout<<Rus("Рандомная матрица:")<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            cout<<a[i][j]<<" ";
            cout<<endl;
    }
    bool fl;
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
        {
                fl=true;
                if(i>0 && a[i-1][j]<=a[i][j])
                        fl=false;
                if(j>0 && a[i][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && a[i+1][j]<=a[i][j])
                        fl=false;
                if(j<n-1 && a[i][j+1]<=a[i][j])
                        fl=false;
                if(i>0 && j>0 && a[i-1][j-1]<=a[i][j])
                        fl=false;
                if(i>0 && j<n-1 && a[i-1][j+1]<=a[i][j])
                        fl=false;
                if(i<n-1 && j>0 && a[i+1][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && j<n-1 && a[i+1][j+1]<=a[i][j])
                        fl=false;
                if(fl)
                        col++;
                if(j>(n-1-i))
                        sum+=abs(a[i][j]);
        }
    cout<<Rus("Количество локальных минимумов: ")<<col<<endl;
    cout<<Rus("Сумма модулей элементов над главной диагональю: ")<<sum<<endl;
  
    return 0; 
}
Добавлено через 2 часа 25 минут
я попытался, но он компилятор только выводит массив, а локальный минимум и сумма стоит 10
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
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <cmath>
using namespace std;
char bufRus[256];
char *Rus(const char *text)
{
    CharToOem(text,bufRus);
    return bufRus;
}
const int n=10,m=10;
int i=0,j=0;
void array(int(*a)[m],int n);
void locmin(int(*a)[m],int n);
void summod(int(*a)[m],int n);
 
void array(int(*a)[m],int n)
{
    for(i=0; i<n; i++)
{
    for(j=0; j<n; j++)
{
        a[i][j]=rand()%10+1;
}
}
    
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            cout<<a[i][j]<<" ";
            cout<<endl;
    }
 
};
void locmin(int(*a)[m],int n)
{
    int col=0;
    bool fl;
    for(i=0; i<n; i++)
    for(j=0; j<n; j++)
        {
                fl=true;
                if(i>0 && a[i-1][j]<=a[i][j])
                        fl=false;
                if(j>0 && a[i][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && a[i+1][j]<=a[i][j])
                        fl=false;
                if(j<n-1 && a[i][j+1]<=a[i][j])
                        fl=false;
                if(i>0 && j>0 && a[i-1][j-1]<=a[i][j])
                        fl=false;
                if(i>0 && j<n-1 && a[i-1][j+1]<=a[i][j])
                        fl=false;
                if(i<n-1 && j>0 && a[i+1][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && j<n-1 && a[i+1][j+1]<=a[i][j])
                        fl=false;
                if(fl)
                        col++;
}
};
void summod(int(*a)[m],int n)
{
 
    int sum=0;
    if(j>(n-1-i))
    sum+=abs(a[i][j]);
};
void main()
{   
    int(*a)[m]=new int [n][m];
    cout<<Rus("Рандомная матрица:")<<endl;
    array(a,n);
    locmin(a,n);
        cout<<Rus("Локальный минимум: ");
    cout<<(a,n);
    cout<<endl;
    summod(a,n);
    cout<<Rus("Сумма: ");
    cout<<(a,n);
    cout<<endl;
    
     
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2014, 03:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переписать код с использованием функций (C++):

Переписать приведенный код с использованием функций - C++
Помогите переделать программу чтобы там использовалась (Functions) #include &lt;stdafx.h&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Переписать программу с использованием функций - C++
Здравствуйте, помогите пожалуйста с функциями. Оформить каждый пункт задания в виде функции. Все необходимые данные для функций должны...

Переписать программу с использованием функций - C++
Добрый день. Помогите пожалуйста мою программу переписать так, чтобы она была с функциями. :( Она маленькая и простая. :) //...

Переписать код с использованием цикла while - C++
здравствуйте, помогите мне пожалуйста переделать код, нужно что б было через while\ #include &lt;iostream&gt; using namespace std; ...

Переписать код с использованием шаблонов - C++
Помогите переписать код через шаблоны , не совсем ясно понимаю , как их в данном случае использовать.. #include &lt;iostream&gt; ...

Переписать код с использованием конструктора - C++
Не совсем понятно как эту программу написать с использованием конструктора... не могли бы объяснить как ее переделать? #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
20.03.2014, 04:50 #2
Код не читал, ибо лень... Вы случайно не пытаетесь константу изменитьҘ?
0
Pro100NoObik
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 12
20.03.2014, 10:52  [ТС] #3
нет, не пытаюсь. просто до меня туго эти функции доходят)
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
20.03.2014, 10:56 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Закомментируйте все функции кроме одной и проверьте.Когда будет работать добавьте следующую.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 10:56
Привет! Вот еще темы с ответами:

Переписать приведенный код с использованием указателей - C++
Есть такой код с функциями. Надо его реализовать через указатели. 3 задания к лабе сделал, а вот ето незнаю как( #include &lt;stdio.h&gt; ...

Переписать код с использованием двоичных файлов - C++
В общем есть у меня программа. Препод сказал переписать с использованием двоичных файлов. Я так понял что это считывание с двоичного файла...

Переписать код с использованием динамического массива - C++
вот такой код.. он должен убирать все, что находится в скобках. без дин. массива, он работает, но задание состоит в том, чтоб запихнуть это...

Переписать код с использованием указателей на функцию - C++
Помогите вот эту программу переделать на указатели! Спасибо всем) #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.03.2014, 10:56
Ответ Создать тему
Опции темы

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