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

Как применять функции? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Steam.dll
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
07.01.2011, 21:23     Как применять функции? #1
Вот я делал задание программа работаает но сделать это надо с использованием функции то есть я понял что это такое но как это сделать. Я запутался и не понимаю если в функции я переменные обозначил то в тексте самой программы надо по новой их обьявлять . и как в программе использовать функцию.
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
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++)
        {
            if(i==j)
            {
                a[i][j]=(rand()%050)*2;
            }
            else
            {
                double pi = cos(-1);
                double ci=((double) rand() / RAND_MAX) * pi + 0;
                double cj=((double) rand() / RAND_MAX) * pi + 0;
                a[i][j]=(ci * ci - 3.5 * cj, exp(-ci + cos(cj)));
            }
                
            printf("%4d", a[i][j]);
        }
        printf("\n\n");
    }
    for(i=0; i<n; i++)
    {
       delete (a[i]);
    }
    delete  a;
    return 0;
    
 
}
вот тут мне надо сделать функцию программа работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    for(i=0;i<n;i++)
    {
        for( j=0; j<m; j++)
        {
            if(i==j)
            {
                a[i][j]=(rand()%050)*2;
            }
            else
            {
                double pi = cos(-1);
                double ci=((double) rand() / RAND_MAX) * pi + 0;
                double cj=((double) rand() / RAND_MAX) * pi + 0;
                a[i][j]=(ci * ci - 3.5 * cj, exp(-ci + cos(cj)));
            }
                
            printf("%4d", a[i][j]);
        }
        printf("\n\n");
    }
как мне вот это привратить в функцию чтоб работало.Только я на первом курсе и знания мои не очень кто может помогите обьясниите мне не умному попроще)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 22:00     Как применять функции? #21
а вы ничего не редактировали в коде из предыдущего сообщения?
C++
1
#include <algorithm>
написан ? что у вас за компилятор ?

Добавлено через 14 минут
вариант без использования STL и в фор переменную не объявляем..
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
void my_func(unsigned int** a, int n);
 
double max(double val1, double val2)
{
  return (val1>val2) ? val1 : val2;
}
 
unsigned int min(unsigned int val1,unsigned int val2)
{
  return (val1<val2) ? val1 : val2;
}
 
unsigned int * find_mins(unsigned int **a, int n)
{
  unsigned int *mins;
  mins=new unsigned int[n];
  int i;
  for(i=0;i<n;i++)
    {
      mins[i]=a[0][i];
      for(int j=1;j<n;j++)
        mins[i]=min(mins[i],a[j][i]);
    }
  return mins;
}
 
int main(void)
{
        const int  n=7;
        srand((unsigned)time(NULL));
        unsigned int  **a;
        a=new  unsigned int *[n];
        int i;
        for(i=0;i<n;i++)
        {
                a[i]=new  unsigned int  [n];
        }
        printf("\n             massiv\n\n");
        my_func(a,n);
        unsigned int *mins=find_mins(a,n);
        for(i=0;i<n;i++) printf("%2d", mins[i]);
        for(i=0; i<n; i++) delete [] a[i];
        delete [] a;
    delete [] mins;
        return 0;
 
}
void my_func(unsigned int** a, int n)
{   
        int i,j;
        for(i=0;i<n;i++)
    {
                for(j=0; j<n; j++)
        {
                        if(i==j) a[i][j]=(rand()%40)*2;
                        else if(i==n-j-1) a[i][j]=(rand()%40)*2+1;
                        else
                        {
                                double pi = cos(-1);
                                double ci=((double) rand() / RAND_MAX) * pi + 0;
                                double cj=((double) rand() / RAND_MAX) * pi + 0;
                                a[i][j]=max(ci * ci - 3.5 * cj, exp(-ci + cos(cj)));
                        }
                
                        printf("%4d", a[i][j]);
                }
                printf("\n\n");
        }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Steam.dll
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
09.01.2011, 00:27  [ТС]     Как применять функции? #22
А какие компеляторы бывают и какие лучше? И вот вопрос не по теме можно ли в visual c++ что бы строки показывало а то когда ошибка вылетает строку считать надо рань ше программы маленькие были а щас каждым разом больше и больше сщетать не вариант
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
09.01.2011, 00:29     Как применять функции? #23
Цитата Сообщение от Steam.dll Посмотреть сообщение
А какие компеляторы бывают и какие лучше?
Бесплатные среды (IDE) для программирования на С/С++
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
09.01.2011, 00:40     Как применять функции? #24
какие компеляторы бывают и какие лучше? И вот вопрос не по теме можно ли в visual c++ что бы строки показывало а то когда ошибка вылетает строку считать надо рань ше программы маленькие были а щас каждым разом больше и больше сщетать не вариант
1) Сказать какой лучше сложно, скорее дело вкуса и привычки я бы посоветовал minGW или Dev-C++.
2) не понял второго вопроса, поясните
Steam.dll
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
09.01.2011, 01:17  [ТС]     Как применять функции? #25
ну вот на скрине это я через паинт сам нарисовал вот чтоб каждую строку можно былобы узнать какая она по счёту
Миниатюры
Как применять функции?  
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
09.01.2011, 01:22     Как применять функции? #26
без запятых пишите - не так прочитал
http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2011, 01:42     Как применять функции?
Еще ссылки по теме:

Надо применять delete [] или нет C++
Как рационально применять if C++
C++ Как строится ветвление, как читать данные, введённые с клавиатуры, как их потом применять

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

Или воспользуйтесь поиском по форуму:
Steam.dll
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
09.01.2011, 01:42  [ТС]     Как применять функции? #27
Спасибо большое за всё. Нервы у вас крепкие со мной непутёвым мало кто выдерживает Многое узнал.
Yandex
Объявления
09.01.2011, 01:42     Как применять функции?
Ответ Создать тему
Опции темы

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