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

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

Войти
Регистрация
Восстановить пароль
 
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
#1

функции - C++

04.01.2011, 12:34. Просмотров 364. Ответов 8
Метки нет (Все метки)

Вот с функциями разобрался. мне попалось вот такое задание см Снимок.PNG . Там нужно чтоб на главной диогонали в матрице 7х7 все числа были чётные случайные значения. Чем в языке с++ чётные отличаются от нечётных. и вот я на картинке не понял то что выделено красным. там от 0 до 50 или 0 делить на 50?
Миниатюры
функции  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 12:34     функции
Посмотрите здесь:

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

excel. создать таблицу значение кусочно-непрерывной функции y на интервале [xmin; xmax] с шагом h, для расчета функции y используя логические функции - Delphi


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
04.01.2011, 12:41     функции #2
Цитата Сообщение от Steam.dll Посмотреть сообщение
Чем в языке с++ чётные отличаются от нечётных
Тем же, чем и в математике
Цитата Сообщение от Steam.dll Посмотреть сообщение
и вот я на картинке не понял то что выделено красным. там от 0 до 50 или 0 делить на 50?
от нуля (включительно) до 50 (включительно)
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
04.01.2011, 13:42  [ТС]     функции #3
а как же тогда написать функцию что бы их отлечить
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
04.01.2011, 15:24     функции #4
Steam.dll, четное число - это число, которое делится на 2 нацело, т.е. остаток от деления этого числа на 2 равен нулю:
C
1
2
3
4
if(n % 2 == 0)
// n - четное
else
// n - нечетное
Или так:
C
1
2
3
4
if(n & 1)
// n - нечетное
else
// n - четное
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
04.01.2011, 19:31  [ТС]     функции #5
а Как тогда функцию сделать что бы на главной диоганали числа чётные были и они были случайными
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.01.2011, 20:33     функции #6
Steam.dll, любое число, умноженное на 2, является чётным. Так что чтобы получить чётное случайное число, нужно сгенерировать случайное число и умножить его на 2.
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
04.01.2011, 21:17  [ТС]     функции #7
я попробывал так сделать
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int diogonal(unsigned int **a);
 
int main(void)
{
    const int n=7;
    const int m=7;
    int u;
    int i,j ;
    unsigned int **a;
    a=new unsigned int *[n];
    for(i=0;i<n;i++)
    {
        a[i]=new unsigned int [m];
    }
    printf("\nmassiv\n\n");
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            a[i][j]=rand()%050;
            printf("%d", a[i][j]);
        }
        printf("\n");
    }
    u=diogonal(a);
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            a[i][j]=u;
            printf("%d", a[i][j]);
        }
        printf("\n");
    }
    
        
           delete  a;
           return 0;
        
    
}
int diogonal(unsigned int **a)
{
    
    {
        a[1][1]=(rand()%050)*2;
        a[2][2]=(rand()%050)*2;
        a[3][3]=(rand()%050)*2;
        a[4][4]=(rand()%050)*2;
        a[5][5]=(rand()%050)*2;
        a[6][6]=(rand()%050)*2;
        a[7][7]=(rand()%050)*2;
    }
    return 0;
 
}
ошибок нет програма во время работы ошибается
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
05.01.2011, 06:26     функции #8
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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
 
#define SIZE 7
#define L_T 0
#define R_T 50
#define L_T_2 L_T / 2
#define R_T_2 R_T / 2
#define MAX(a, b) ((a) < (b) ? (b) : (a))
 
void fillMatrix(double m[SIZE][SIZE]);
void displayMatrix(double m[SIZE][SIZE]);
void minCols(double m[SIZE][SIZE], double* ret);
 
int main()
{
    srand((size_t) time(NULL));
    double  matrix[SIZE][SIZE];
    double mins[3];
    size_t i;
    fillMatrix(matrix);
    puts("Generated matrix:");
    displayMatrix(matrix);
    puts("Minimum values:");
    minCols(matrix, mins);
    for(i = 0; i < 3; ++i)
        printf("%u: %.2f\n", i + 1, mins[i]);
        
    exit(0);
}
 
void fillMatrix(double m[SIZE][SIZE])
{
    size_t i, j;
    double pi = acos(-1);
    for(i = 0; i < SIZE; ++i)
        for(j = 0; j < SIZE; ++j)
            if(i == j)
                m[i][j] = (rand() % (R_T_2 - L_T_2 + 1) + L_T_2) * 2;
            else
            {
                double ci = ((double) rand() / RAND_MAX) * (pi - L_T) + L_T;
                double cj = ((double) rand() / RAND_MAX) * (pi - L_T) + L_T;
                m[i][j] = MAX(ci * ci - 3.5 * cj, exp(-ci + cos(cj)));
            }
}
 
void displayMatrix(double m[SIZE][SIZE])
{
    size_t i, j;
    for(i = 0; i < SIZE; ++i)
    {
        for(j = 0; j < SIZE; ++j)
            printf("%-8.2f", m[i][j]);
        putchar('\n');
    }
}
 
void minCols(double m[SIZE][SIZE], double* ret)
{
    size_t i, j;
    for(j = 0; j < 3; ++j)
    {
        ret[j] = m[0][j];
        for(i = 1; i < SIZE; ++i)
            if(m[i][j] < ret[j])
                ret[j] = m[i][j];
    }
}
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
06.01.2011, 15:26  [ТС]     функции #9
спасибобольшо но я не понимаю для меня слишком трудно это понять ещё незнаю многого
я хочу так вот
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
int matrix(unsigned int **a);
 
 
int main(void)
{
    const int  n=7;
    const int m=7;
    srand((unsigned)time(NULL));
    int i,j ;
    unsigned int  **a;
    a=new  unsigned int *[n];
    for(i=0;i<n;i++)
    {
        a[i]=new  unsigned int  [m];
    }
    printf("\n             massiv\n\n");
    for( i=0; i<n; i++)
    {
        for( j=0; j<m; j++)
        {
            a[i][j]=matrix(a);
            printf("%4d", a[i][j]);
        }
        printf("\n\n");
    }
    for(i=0; i<n; i++)
    {
       delete (a[i]);
    }
    delete  a;
    return 0;
    
 
}
int matrix(unsigned int **a)
{
    int i,j;
    if(i==j)
    {
        a[i][j]=(rand()%050)*2;
    }
    else
    {
        a[i][j]=rand()%050;
    }
    return i,j;
}
только не знаю как функции связать с программой
Yandex
Объявления
06.01.2011, 15:26     функции
Ответ Создать тему
Опции темы

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