Dlaczego zwracany jest problem z deklaracja funkcji?
main
#include <stdio.h>
#include <stdlib.h>
#define MAX_ROZM 100
extern int pobierz(int tab[], int n);
extern void sort(int tab[], int n);
extern void wyswietl(const int tab[], int n);
int main()
{
int liczby[MAX_ROZM];
int rozmiar;
rozmiar=pobierz(liczby, MAX_ROZM);
printf("\nPierwotne dane (%d wartosci):\n",rozmiar);
wyswietl(liczby, rozmiar);
sort(liczby, rozmiar);
puts("Posortowane dane: ");
wyswietl(liczby, rozmiar);
return 0;
}
pobierz
#include <stdio.h>
#define NIENUM 0
#define TAKNUM 1
int pobierz(int tablica[], int granica)
{
int num, stan;
int index = 0;
printf("Ten program konczy odczywywanie liczb po pobraniu %d ", granica);
printf("wartosci\n lub w przypadku wpisania EOF. Pierwsza wartosc: ");
stan=scanf("%d", &num);
while(index<granica && stan!=EOF)
{
if (stan==TAKNUM)
{
tablica[index++]=num;
printf("%d przyjete. ",num);
if (index<granica)
{
printf("Nastepna wartosc: ");
stan=scanf("%d",&num);
}
}
else if(stan==NIENUM)
{
scanf("*s"); //pozbywa zlych danych wejsciowych
printf("To nie byla liczba calkowita! Wpisz liczbe calkowita, aby\n");
printf("kontynuowac lub cos, co nie jest liczba, aby zakonczyc: ");
if((stan=scanf("%d", &num))==NIENUM)
break;
}
else
{
printf("Ups! Program nie powinien dotrzec w to miejsce!\n");
break;
}
}
if(index==granica)
printf("wszystkie %d elementow tablicy zostalo wypelnione.\n",granica);
return(index);
}
sort
void sort(int tablica[], int granica)
{
int gora, szuk, temp;
for(gora=0; gora<granica-1; gora++)
for(szuk=gora+1; szuk<granica; szuk++)
if(tablica[szuk]>tablica[gora])
{
temp=tablica[szuk];
tablica[szuk]=tablica[gora];
tablica[gora]=temp;
}
}
wyswietl
#include <stdio.h>
void wyswietl(const int tablica[], int granica)
{
int index;
for(index=0; index<granica; index++)
{
printf("%d ", tablica[index]);
if(index % 10==9)
putchar('\n');
}
if (index%10!=0)
putchar('\n');
</cpp>