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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ При делении 2 на 4 результат - 0 http://www.cyberforum.ru/cpp-beginners/thread1124539.html
Стыдно, но не могу понять, почему компилятор выдает 0. Есть код функции:int high = 0; int mid = 0; int h; int m; int in; for (int i = 0; i<Quant; i++) { if (strcmp("High", pCol.education)==0)
C++ ScalarProduct для вычисления скалярного произведения двух векторов Написать программу для проверки работы процедуры ScalarProduct для вычисления скалярного произведения двух векторов. Заранее спасибо большое! Добавлено через 21 час 16 минут Помогите пожалуйста... http://www.cyberforum.ru/cpp-beginners/thread1124537.html
C++ Морской бой. Адаптация кода под VS 2012
Собственно вот сам код для программы. Написан для ООП с помощью классов. Проблема в том, что написана программа под древний борланд, а мне нужно чтобы все работало на VS 2012. В основном все ошибки как раз от этого. Помогите переделать прогу под VS. #include "stdafx.h" #include <conio.h> #include <stdlib.h> #include <iostream> #include <dos.h> #include <stdlib.h> #include <time.h> class...
C++ Запрограммировать математическую сумму
Помогите запрограммировать математическую суму, сказали что она лёгкая, но я не могу, там кода должно быть на строк 10-15 \sum_{k=1}^{n}=\frac{1}{\sqrt{k}} и ещё составить таблицу для N в степени 2,3 и 4, но я так понял N я должен вводить и он должен ставится в степени 2,3 и 4
C++ Что делает данная строка в коде http://www.cyberforum.ru/cpp-beginners/thread1124501.html
Кто может объяснить что делает данная строка в коде, вот функция в которой она используется(корманная сортировка): int bucketSort(int* arr, int n) { int buckets; for (int j=0; j< m; ++j) buckets=0; for (int i=0; i < n; ++i) ++buckets];
C++ Как написать новую программу, открывающую имеющуюся с использованием fork,exec, wait, exit Есть программа: #include <iostream> #include <stdio.h> int main() { float min,max,sr; int i,n,imin,imax, end; float a; std::cout<<"Vvedite razmernost massiva n (max 20) \n"; подробнее

Показать сообщение отдельно
Pro100NoObik
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 12
20.03.2014, 03:40     Переписать код с использованием функций
Народ, помогите плиз. надо переписать этот код так, чтобы были функции
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;
    
     
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru