Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, содержащих хотя бы один нулевой элемент; 2) номер столбца, в котором находится самая длинная серия одинаковых элементов. помогите полиз мне надо на С Вот код но на него мой VSCE2010 ругается | Код | #include <windows.h> #include <stdio.h> //Проверяет содержит ли строка //нулевые элементы и возвращает их кол-во int IsZeroInRow(int n, int * pRow); //Выделяет из строки столбец iCol //Возвращаемый результат указатель на данный столбец pCol int * GetColumn(int m, int n, int iCol, int ** mass, int * pCol); //Ищет последовательность одинаковых элементов //в столбце pCol, возвращаемое значеие макс число //одинаковых элементов int GetSequence(int m, int * pCol); int ** mass = (int **)malloc(sizeof(int)); //Содержит число одинаковых элементов в каждом столбце int * pCol = (int *) malloc(sizeof(int)); void main() { printf("Enter num of Rows : "); int m;scanf("%d",&m); printf("Enter num of Cols : "); int n;scanf("%d",&n); mass = (int **)realloc((void *)mass,sizeof(int)*m); pCol = (int *)realloc((void *)pCol,sizeof(int)*m); printf("\tEnter elements of massiv\r\n"); for(int i = 0,nRows = 0,j;i < m; i++) { mass[i] = (int *)malloc(sizeof(int)*n); for(j = 0; j < n; j++) { printf("mass[%d][%d] = ",i,j); scanf("%d",&mass[i][j]); } if(IsZeroInRow(n, mass[i])) nRows++; } int jmax = 0; int nSame = 0; int iBuf = 0; pCol = GetColumn(m, n, jmax, mass, pCol); nSame = GetSequence(m, pCol); for(j = 1; j < n; j++) { pCol = GetColumn(m, n, j, mass, pCol); iBuf = GetSequence(m, pCol); if(nSame < iBuf) { nSame = iBuf; jmax = j; } } printf("Num of Rows with zero elements : %d\r\n",nRows); printf("Column with max count of same elements : %d\r\n",jmax); mass = (int **)realloc((void *)mass,sizeof(int)); pCol = (int *)realloc((void *)pCol,sizeof(int)); printf("Press NUM1 to enter new massiv\r\n"); scanf("%d",&iBuf); if(iBuf == 1) main(); free(mass); free(pCol); } int IsZeroInRow(int n, int * pRow) { int nCount = 0; if(pRow && 0 < n) { for(int i = 0; i < n; i++) { if(pRow[i] == 0) nCount++; } } return nCount; } int GetSequence(int m, int * pCol) { int nSame = 0; if(pCol && 0 < m) { int iBuf = 1; int Elem = pCol[0]; for(int i = 0,j; i < m; i++) { iBuf = 1; Elem = pCol[i]; for(j = i + 1; j < m; j++) { if(pCol[j] == Elem) iBuf++; } if(nSame < iBuf) nSame = iBuf; } } return nSame; } int * GetColumn(int m, int n, int iCol, int ** mass, int * pCol) { if(pCol && mass && iCol < n) { for(int i = 0; i < m; i++) pCol[i] = mass[i][iCol]; } return pCol; }
|
| Код |
1>------ Построение начато: проект: 5.massive_2, Конфигурация: Debug Win32 ------ 1> 5.massive_2.cpp 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(25): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf" 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(27): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf" 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(39): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304): см. объявление "scanf" 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(50): error C2065: j: необъявленный идентификатор 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(50): error C2065: j: необъявленный идентификатор 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(50): error C2065: j: необъявленный идентификатор 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(52): error C2065: j: необъявленный идентификатор 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(57): error C2065: j: необъявленный идентификатор 1>c:\documents and settings\администратор\мои документы\visual studio 2010\projects\5.massive_2\5.massive_2\5.massive_2.cpp(60): error C2065: nRows: необъявленный идентификатор ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
|
|