Ошибка "Необъявленный идентификатор" препятствует успешной компиляции - 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);
}