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

Функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ файлы, структуры, строки, все в куче http://www.cyberforum.ru/cpp-beginners/thread1026501.html
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <iostream> #include <string> #include "cstring" #include "clocale" using namespace std; struct sklad
C++ сделать фото галерею резиновой в разделе Logos есть кривой фото слайдер(галерея). Помогите сделать его резиновым что бы на разных мониторах сайт был одинаковым (код может быть кривой так как я не программист делал как умею.А вот слайдер понятия не имею как сделать резиновым). Приложил архив(talan.rar) в котором весь мой сайт. http://www.cyberforum.ru/cpp-beginners/thread1026500.html
C++ Работа с файлом
Помогите пожалуйсто! Надо присоединить опцию как считывать с файла data.txt массив, также вводить вручную(уже есть), и записовать в файл. Буду очень благодарен!!! #include <iostream> #include <string> using namespace std; struct NOTE {
C++ Как это работает?
Здравствуйте, можете, пожалуйста, поэтапно объяснить как работает приведенный ниже фрагмент кода? Что такое floor, return, ceil? double round3 (double x){ double x2=x*1000; return (x2 - floor(x2)>=0.5 ? ceil(x2) : floor(x2))/1000; }
C++ Генератор чисел! http://www.cyberforum.ru/cpp-beginners/thread1026495.html
Всем доброго времени суток. Нужна помощь, является задача сгенерировать матрицуNхM случайных чисел с нормальным законом распределения. Никак не могу приспособить функцию. #include <stdio.h> #include <conio.h> #include <iostream> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h> #define LOFFSET log(RAND_MAX);
C++ Не знаю как считать и записать Всем привет. Возникла такая проблема. Вобщем нужно считать и записать пару строчек, к сути... struct MyPlayer_t { DWORD CLocalPlayer; int m_fFlags; void ReadInformation() { подробнее

Показать сообщение отдельно
senderlender
5 / 5 / 1
Регистрация: 03.12.2013
Сообщений: 50
03.12.2013, 02:48     Функции
Всем доброго времени суток. Возник вопрос по этому коду:

Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int N=25;
    int a[N][N], b[N][N], m, n, l=0, c=0;
    int min=0, max=0, p=0, z=0;
    do
    {
        cout<<"Enter size mass"<<endl;
        cout<<"Gorizont=";
        cin>>m;
        cout<<"Vertikal=";
        cin>>n;
    }while(m<1||n<1||m>25||n>25);
 
    for(int i=0; i<n; i++)
        {
            for(int j=0; j<m; j++)
                cin>>a[i][j];
        }
    cout<<endl;
 
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            for(int k=j+1; k<m; k++)
            {
                if(a[i][j]==a[i][k])
                    l++;
                if(a[i][j]!=a[i][k])
                    z++;
            }
        }
        if(z>c)
            min=i;
        c=z;
        z=0;
        if(l>p)
            max=i;
        p=l;
        l=0;
    }
 
    for(int j=0; j<m; j++)
    {
        b[0][j]=a[max][j];
        a[max][j]=a[min][j];
        a[min][j]=b[0][j];
    }
 
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    system("pause");
    return 0;
}


Программа делает вот что: В двух мерном массиве ищет строку с наиболее различным количеством элементов и с наиболее одинаковым при этом меняя их местами.
В этом коде необходимо задать функцию которая и будет искать эти строки. То есть вот этот участок кода:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            for(int k=j+1; k<m; k++)
            {
                if(a[i][j]==a[i][k])
                    l++;
                if(a[i][j]!=a[i][k])
                    z++;
            }
        }
        if(z>c)
            min=i;
        c=z;
        z=0;
        if(l>p)
            max=i;
        p=l;
        l=0;
    }



Но как вы ведите необходимы в главной функции две перемененных мин и макс. Возникла вот такая идея:

Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int *pr_str(int **a, int m, int n);
int _tmain(int argc, _TCHAR* argv[])
{
    const int N=25;
    int m, n, l=0, c=0;
    int min=0, max=0, p=0, z=0;
    int **a=new int *[N];
    int **b= new int *[N];
    for (int i=0; i<N; i++)
    {
        a[i]=new int [N];
        b[i]=new int [N];
        for (int j=0; j<N; j++)
        {
            a[i][j]=0;
            b[i][j]=0;
        }
 
    }
 
    do
    {
        cout<<"Enter size mass"<<endl;
        cout<<"Gorizont=";
        cin>>m;
        cout<<"Vertikal=";
        cin>>n;
    }while(m<1||n<1||m>25||n>25);
 
    for(int i=0; i<n; i++)
        {
            for(int j=0; j<m; j++)
                cin>>a[i][j];
        }
    cout<<endl;
 
    int *p=pr_str(a, m, n);
    min=p[0];
    max=p[1];
 
    for(int j=0; j<m; j++)
    {
        b[0][j]=a[max][j];
        a[max][j]=a[min][j];
        a[min][j]=b[0][j];
    }
 
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    system("pause");
    return 0;
}
 
int *pr_str(int **a, int m, int n)
{
    int z=0, c=0, l=0, p=0, min, max;
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            for(int k=j+1; k<m; k++)
            {
                if(a[i][j]==a[i][k])
                    l++;
                if(a[i][j]!=a[i][k])
                    z++;
            }
        }
        if(z>c)
            min=i;
        c=z;
        z=0;
        if(l>p)
            max=i;
        p=l;
        l=0;
    }
    int *g = new int [2];
    g[0]=min;
    g[1]=max;
    return g;
}


И здесь выбивает ошибку на этом участке кода:

Кликните здесь для просмотра всего текста
C++
1
2
3
int *p=pr_str(a, m, n);
    min=p[0];
    max=p[1];


Пожалуйста помогите разобраться...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru