Witam, mam taki kod:
#include <stdio.h>
#include <stdlib.h>
void wczytaj(int n,int *A);
void bublesort(int n,int *A);
void wyswietl(int n,int *A);
void insertsort(int n,int *A);
void selectsort(int n,int *A);
int main()
{
int x;
int n;
printf("1.Pobieranie danych.\n");
printf("2.Sortowanie babelkowe.\n");
printf("3.Insert sort.\n");
printf("4.Select sort.\n");
printf("5.Wyowietlanie tablicy.\n");
printf("6.Koniec programu.\n");
do{
printf("Co chcesz zrobic?: ");
scanf("%d",&x);
switch(x){
case 1:{
printf("Podaj wielkosc tablicy: ");
scanf("%d",&n);
int A[n];
wczytaj(n,A);}
break;
case 2:{
bublesort(n,A);
}
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}while(x!=6);
return 0;
}
void wczytaj(int n,int *A){
int i;
for(i=1;i<=n;i++){
printf("Podaj element tablicy o indeksie nr %d: ",i);
scanf("%d",&A[i]);
}
}
void bublesort(int n,int *A){
int i=n;
int j,pom;
while(i>=2){
j=2;
while(j<=i){
if(A[j]<A[j-1]){
A[j-1]=pom;
A[j-1]=A[j];
A[j]=pom;
j++;
}
i--;
}
}
}
void wyswietl(int n,int *A){
int i;
for(i=1;i<=n;i++){
printf("%d ",A[i]);
}
}
void insertsort(int n,int *A){
int i=2;
int j,pom,p;
while(i<=n){
j=i-1;
p=A[i];
A[0]=p;
while(A[j]>p){
A[j-1]=pom;
A[j-1]=A[j];
A[j]=pom;
j--;
}
A[j+1]=p;
i++;
}
}
void selectsort(int n,int *A){
int i=n;
int j,max,p;
while(n>=2){
j=2;
max=A[1];
p=1;
while(j<=i){
if(max<A[j]){
max=A[j];
p=j;
j++;
}
A[p]=A[i];
A[i]=max;
i--;
}
}
}
Nie działa funkcja bublesort,ponieważ w drugim casie nie widzi tablicy. Jak mogę obejść ten problem?