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

Использование функция для решения задачи - C++

Восстановить пароль Регистрация
 
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
23.04.2014, 20:44     Использование функция для решения задачи #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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int i,j;
 
int matrix(int **A,int **B,int **C,int rows,int cols )
{
    for (i=0;i<rows;i++)
    {
        for (j=0;j<cols;j++)
        {
            A[i][j]=rand()%21;
            B[i][j]=rand()%21;
            C[i][j]=rand()%21;
        }
    }
}
 
int vector(int *X,int *Y,int *Z,int rows)
{
    for(i=0;i<rows;i++)
    {
        X[i]=rand()%21;
        Y[i]=rand()%21;
        Z[i]=rand()%21;
    }
}
 
int umn(int sum_a,int sum_b,int sum_c,int rows,int cols)
{
    matrix(A,B,C,5,5);
    vector(X,Y,Z,5);
    for(i=0;i<rows;i++)
    {
        for(j=0;j<cols;j++)
        {
            sum_a=sum_a + A[i][j] * X[j];
            sum_b=sum_b + B[i][j] * Y[j];
            sum_c=sum_c + C[i][j] * Z[j];
        }
        ax[i]=sum_a;
        by[i]=sum_b;
        cz[i]=sum_c;
    }
}
 
int main()
{
    int A[5][5],B[5][5],C[5][5];
    int X[5],Y[5],Z[5];
    int sum_a,sum_b,sum_c;
    int ax[5],by[5],cz[5];
    int w[5];
    srand(time(NULL));
    umn(ax[5],by[5],cz[5],5,5);
    for (i=0;i<5;i++)
    {
            w[i]=ax[i]+by[i]-cz[i];
    }
    for (i=0;i<5;i++)
    {
        printf("%d\n",w[i]);
    }
    getchar();
}
Ошибки:
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(32): error C2065: A: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(32): error C2065: B: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(32): error C2065: C: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(33): error C2065: X: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(33): error C2065: Y: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(33): error C2065: Z: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(38): error C2065: A: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(38): error C2065: X: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(39): error C2065: B: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(39): error C2065: Y: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(40): error C2065: C: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(40): error C2065: Z: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(42): error C2065: ax: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(43): error C2065: by: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(44): error C2065: cz: необъявленный идентификатор
1>c:\users\джеки\documents\visual studio 2012\projects\lab6\lab6\lab6.cpp(55): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4259 / 3690 / 1243
Регистрация: 14.04.2014
Сообщений: 14,458
23.04.2014, 20:45     Использование функция для решения задачи #2
rand - это же функция? Почему без скобок?
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
23.04.2014, 20:48  [ТС]     Использование функция для решения задачи #3
уже поправил, спасибо

Добавлено через 22 секунды
почему необъявленный идентификатор?
nmcf
4259 / 3690 / 1243
Регистрация: 14.04.2014
Сообщений: 14,458
23.04.2014, 20:50     Использование функция для решения задачи #4
Потому что переменные видны только в той функции, где объявлены. Во все прочие их надо передавать. У тебя A - в main(), а обращаешься из umn().
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,039
23.04.2014, 20:50     Использование функция для решения задачи #5
Цитата Сообщение от Jacky09 Посмотреть сообщение
почему необъявленный идентификатор?
а где он у тебя объявлен?
Цитата Сообщение от Jacky09 Посмотреть сообщение
int umn(int sum_a,int sum_b,int sum_c,int rows,int cols)
{
* * matrix(A,B,C,5,5);
* * vector(X,Y,Z,5);
где объявлены A,B,C X,Y,Z ?????
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
23.04.2014, 20:52  [ТС]     Использование функция для решения задачи #6
ок! а как передать их в функцию?
nmcf
4259 / 3690 / 1243
Регистрация: 14.04.2014
Сообщений: 14,458
23.04.2014, 20:53     Использование функция для решения задачи #7
Ну через параметры. Ты же другие передаёшь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2014, 21:26     Использование функция для решения задачи
Еще ссылки по теме:

Нужны задачи для их решения C++
Нужны задачи для решения C++
Составить программу для решения математической задачи (для любых допустимых значений углов и сторон) C++

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

Или воспользуйтесь поиском по форуму:
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
23.04.2014, 21:26  [ТС]     Использование функция для решения задачи #8
Можешь пример привести плиз?) Не особо въехал

Добавлено через 13 минут
не могу понять что и куда приписать)

Добавлено через 17 минут
Решил упростить задачу,переделал
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
#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int i,j;
 
int matrix(int **A,int **B,int **C,int rows,int cols )
{
    for (i=0;i<rows;i++)
    {
        for (j=0;j<cols;j++)
        {
            A[i][j]=rand()%21;
            B[i][j]=rand()%21;
            C[i][j]=rand()%21;
        }
    }
}
 
int vector(int *X,int *Y,int *Z,int rows)
{
    for(i=0;i<rows;i++)
    {
        X[i]=rand()%21;
        Y[i]=rand()%21;
        Z[i]=rand()%21;
    }
}
 
int main()
{
    int A[5][5],B[5][5],C[5][5];
    int X[5],Y[5],Z[5];
    int sum_a,sum_b,sum_c;
    int ax[5],by[5],cz[5];
    int w[5];
    int rows,cols;
    srand(time(NULL));
 
    matrix(A,B,C,5,5);
    vector(X,Y,Z,5);
 
    for(i=0;i<rows;i++)
    {
        for(j=0;j<cols;j++)
        {
            sum_a=sum_a + A[i][j] * X[j];
            sum_b=sum_b + B[i][j] * Y[j];
            sum_c=sum_c + C[i][j] * Z[j];
        }
        ax[i]=sum_a;
        by[i]=sum_b;
        cz[i]=sum_c;
    }
 
    for (i=0;i<5;i++)
    {
            w[i]=ax[i]+by[i]-cz[i];
    }
    for (i=0;i<5;i++)
    {
        printf("%d\n",w[i]);
    }
    getchar();
}
Ошибка: (40): error C2664: matrix: невозможно преобразовать параметр 1 из "int [5][5]" в "int **"
Yandex
Объявления
23.04.2014, 21:26     Использование функция для решения задачи
Ответ Создать тему
Опции темы

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