Ошибка "Необъявленный идентификатор" препятствует успешной компиляции - C (СИ)
Формулировка задачи:
Подправьте код, что то не компилируется, не пойму в чем дело, на .cpp норм, а .с выдает ошибки
int max(int a, int b);синтаксическая ошибка: тип
Bubble(data,SIZE, min);min: необъявленный идентификатор
#include <stdio.h> #include <stdlib.h> #include <math.h> #define SIZE 10 int max(int a, int b); int min(int a, int b); void Bubble(int* d, int n, int (*comp)(int,int)); void Bubble(int* d, int n, int (*comp)(int,int)){ int i,j; int buf; for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(comp(d[j],d[j+1])){ buf=d[j];d[j]=d[j+1]; d[j+1]=buf; } } int max(int a, int b){ return a<b; } int min(int a, int b){ return !max(a,b); } void main(){ int i; int data[SIZE]={12,5,-6,25,3,0,7,34,-8,-88}; Bubble(data,SIZE, min); for(i=0;i<SIZE;i++) printf("%d ", data[i]); printf("\n"); system("pause"); }
Решение задачи: «Ошибка "Необъявленный идентификатор" препятствует успешной компиляции»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define SIZE 10 int max_compare(const void* a, const void* b); int min_compare(const void* a, const void* b); void Bubble(int* d, int n, int (*comp)(const void* a, const void* b)); void main(){ int i; int data[SIZE]={12,5,-6,25,3,0,7,34,-8,-88}; Bubble(data,SIZE, min_compare); for(i=0;i<SIZE;i++) printf("%d ", data[i]); printf("\n"); system("pause"); } void Bubble(int* d, int n, int (*comp)(const void* a, const void* b)){ int i,j; int buf; for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(comp(&d[j],&d[j+1])){ buf=d[j];d[j]=d[j+1]; d[j+1]=buf; } } int max_compare(const void* a, const void* b){ int aa = *(const int* )a; int bb = *(const int* )b; return aa<bb; } int min_compare(const void* a, const void* b){ return !max_compare(a,b); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д