Argumenty dla funckji.

VI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

Jak wywolac funkcje z kodu nizej, tzn jakie argmuenty trzeba przypisac w sort(..) , obecnie program sie kompiluje aczkolwiek nie wykonuje sie funkcja.

Kopiuj
#include <stdio.h>


int sort(int i, int j, int temp, int A[5])
{

for(i;i<5;i++) {
printf("Podaj liczbe: ");
scanf("%d",&A[i]);
}

for(i=0;i<5;i++) { printf("%d \n", A[i]); }

for(j;j<5;j++) {
for(i=0;i<4;i++) {
	if(A[i]>A[i+1]) {
       temp = A[i];
       A[i] = A[i+1];
       A[i+1] = temp;
     }
}
}
  
printf("\nPosortowane:\n");
for(i=0;i<5;i++){
printf("%d\n",A[i]);
}

}




int main (void)
{
int i,j,temp,A[5];

printf("\n Witam w programie sortujacym liczby od najmniejszej do największej\n\n");

int sort(int i, int j, int temp, int A[5]); // jakie arguemnty powinna przyjac funkcja?


return 0;
}
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Ten kod wygląda jak zlepek różnych kodów z internetu, a funkcja nazwana sort paradoksalnie jest całą logiką tego programu :|
Napisz ten kod od nowa, ale tym razem samemu.

VI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

paradoksalnie to chyba fukcja ma być główna częscia programu? program bez funckji dziala ale jak prubuje wrzucic go w funckcje to juz ..

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Funkcja main ma być z założenia główną częścią.
Skoro nazwałeś funkcję sort, to niech jedynie robi to, co wskazuje jej nazwa - sortuje.

VI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

z pierwszym sie zgodze a co drugiego , nie wiem wlasnie jak wywolac ta funkcje , bo nie moge podstawic argumentow ktore sa przyjmowane w funkcji, bez argumentow sie nie wywola , musi byc jakies sposob oprocz wyjscia napisz od nowa ...?

robcio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Opole
  • Postów: 533
0

deklaracja tej funkcji powinna wyglądać tak: void sort(int * tab,int rozmiar). Drugi argument określa rozmiar tablicy, ponieważ w środku funkcji nie ma jak się dowiedzieć ile elementów ma tablica na którą pokazuje wskaźnik. Funkcja ma tylko sortować i nic poza tym. Wczytywanie zrób we funkcji main

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Nie wiem po co ci az 3 argumenty, z ktorych zaden nic nie robi tak naprawde, widze ze jako dosc nieobeznany w programowaniu uzywasz argumentow funkcji jako inicjalizacji :).

Po malej poprawce:

Przed:

Kopiuj
 int sort(int i, int j, int temp, int A[5])
{
//kod
}

Po:

Kopiuj
 
int sort(int A[5])
{
int i, j, temp;
//reszta kodu
}

Powinno dzialac.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.