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

error C2064: результатом вычисления фрагмента... - C++

Восстановить пароль Регистрация
 
Dxsile
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 9
08.01.2012, 18:06     error C2064: результатом вычисления фрагмента... #1
error C2064: результатом вычисления фрагмента не является функция, принимающая 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
//процедуры и функции 11. Найти количество строк\столбцов,все элементы которых различны.(целочисленная матрица NxM)
 
#include "stdafx.h"
#include "stdlib.h"
#include "windows.h"
#include "time.h"
#include "conio.h"
int diffelemmatr(int A[5][5] ){
    int counter,cacher;
    counter=0;
    for(int i=0;i<5;i++){
        for (int c=0;c<4;c++){ cacher=A[i][c]; 
        for(int j=c+1;j<5;j++) 
            if(A[i][j]=A[i][c]) break ;
            else counter++; 
        }
    }
    for(int j=0;j<5;j++){
        for (int c=0;c<4;c++){ cacher=A[c][j]; 
        for(int i=c+1;i<5;i++) 
            if(A[i][j]=A[c][i]) break ;
            else counter++  ;
        }
    }
    return counter;
}
 
int _tmain(int argc, _TCHAR* argv[])
 
{ 
    int i,j,xtra;
    printf("Matrix : 5x5 \n Status : empty \n Press any key to start randomizing ... \n");
    getch();
    
    srand(time(0));
    int A[5][5];
    for (i=0;i<5;i++){
        for (j=0;j<5;j++){
            A[i][j]=0+rand()%10;
            }
        }
    printf("Matrix = \n");
    for (i=0;i<5;i++){
            for (j=0;j<5;j++)
                printf("%d ",A[i] [j]);
        printf("\n");
        }
    int diffelemmatr(A[5][5]);
    xtra=diffelemmatr(A[5][5]); // вот в этой строке
    if ((xtra%4)==0)printf("Razli4nih strok\stolbcov : %d",xtra/4);
    else{xtra=(xtra-(xtra%4))/4;
        printf("Razli4nih strok\stolbcov : %d",xtra/4);
    }
    
    return 0;
}
подскажите пожалуйста,где я напортачил? заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2012, 18:06     error C2064: результатом вычисления фрагмента...
Посмотрите здесь:

C++ error C2064: выдает ошибку
Ошибка 1 error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов C++
результатом вычисления фрагмента не является функция, принимающая 1 аргументов C++
error C2064: результатом вычисления фрагмента не является функция C++
C++ error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.01.2012, 18:21     error C2064: результатом вычисления фрагмента... #2
C++
1
2
//int diffelemmatr(A[5][5]); - не нужна
xtra=diffelemmatr(A); // вот в этой строке
Присмотритесь к самой функции. Там есть два косяка.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
08.01.2012, 18:25     error C2064: результатом вычисления фрагмента... #3
Этот код должен был выглядеть как-то так:

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 "stdlib.h"
#include "stdio.h"
#include "time.h"
int diffelemmatr(int A[5][5] )
{
    int counter, cacher;
    counter=0;
    for(int i = 0; i < 5; i++)
    {
        for(int c = 0; c < 4; c++)
        {
            cacher = A[i][c]; 
            for(int j = c + 1; j < 5; j++) 
                if(A[i][j] == A[i][c])
                    break;
                else
                    counter++; 
        }
    }
    for(int j = 0; j < 5; j++){
        for(int c = 0; c < 4; c++){
            cacher = A[c][j]; 
            for(int i = c + 1; i < 5; i++) 
                if(A[i][j] == A[c][i])
                    break;
                else
                    counter++;
        }
    }
    return counter;
}
 
int main(int argc, char* argv[])
 
{ 
    int i,j,xtra;
    puts("Matrix : 5x5");
    
    srand(time(0));
    int A[5][5];
    for (i = 0; i < 5; i++){
        for (j = 0; j < 5; j++)
        {
            A[i][j]=0 + rand() % 10;
        }
    }
    puts("Matrix = ");
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
            printf("%d ",A[i][j]);
        printf("\n");
    }
    //int diffelemmatr(A[5][5]);
    xtra = diffelemmatr(A);
    if ((xtra % 4) == 0)
        printf("Razli4nih strok/stolbcov : %d",xtra / 4);
    else
    {
        xtra= (xtra - xtra % 4) / 4;
        printf("Razli4nih strok/stolbcov : %d",xtra / 4);
    }
           
           return 0;
}
В следующий раз потрудись привести свои художества к читаемому виду.
Dxsile
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 9
08.01.2012, 19:28  [ТС]     error C2064: результатом вычисления фрагмента... #4
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
//int diffelemmatr(A[5][5]); - не нужна
xtra=diffelemmatr(A); // вот в этой строке
Присмотритесь к самой функции. Там есть два косяка.
огромнейшее спасибо!
Yandex
Объявления
08.01.2012, 19:28     error C2064: результатом вычисления фрагмента...
Ответ Создать тему
Опции темы

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