Portál AbcLinuxu, 8. května 2025 15:44
int *array;
int size,i,j,tmp;
void setridit(){
for(i = 0; i < size - 1; i++){
for(j = 0; j < size - i - 1; j++){
if(array[j+1] < array[j]){
tmp = array[j+1];
array[j+1] = array[j];
array[j] = tmp;
}
}
}
}
int main(void)
{
printf("Zadejte array: ");
scanf("%d",array);
printf("Zadejte size: ");
scanf("\n%d", &size);
printf("%d", array[j]);
setridit();
return 0;
}
Nevite v cem je chyba?
#include <stdio.h> #include <stdlib.h> #define W 3 #define H 3 void print_array(int** array, size_t h, size_t w) { size_t i, j; for (i = 0; i < h; i++) { for (j = 0; j < w; j++) { printf("%d ", array[i][j]); } printf("\n"); } } int main(int argc, char* argv[]) { size_t x, y; int val; int** array; //<- Dvourozměrné pole array = calloc(H, sizeof(int*)); // Alokuj řádky pole for (y = 0; y < H; y++) { array[y] = calloc(W, sizeof(int)); // Pro každý řádek alokuj sloupce } // Naplň pole for (x = 0; x < H; x++) { for (y = 0; y < W; y++) { array[x][y] = (3*x) + y + 1; } } print_array(array, H, W); printf("Zadej pozici prvku: "); scanf("%u %u", &x, &y); if (x >= H || y >= W) { printf("Neplatne zadani!\n"); return 1; } printf("Zadej hodnotu: "); scanf("%d", &val); array[x][y] = val; print_array(array, H, W); return 0; }[*] Vím, že "int** x" a "int x[][]" není totéž, ale pro tyto účely je to IMHO fuk.
co znamena size_t 3
?
-----------------------------------------------------
if (x >= H || y >= W) {
printf("Neplatne zadani!\n");
return 1;
}
proc je tam return 1
?
Prosim te nechces uz konecne dat pokoj? Ja chapu ze ti je jen 14 let, ale to te neospravedlnuje k tomu aby si tu psal tolik hoven. Zkus prosimte chvili prvni stravit studiem a ctenim knizek. Pripadne hledanim reseni. A az kdyz po te neuspejes tak se zeptat. Dekuji.
Někteří jsou možná ošklivý a zbytečně ti nadávaj, ale v podstatě mají pravdu. Měl bys nejdřív začít nějakými základy, jako co je to proměnná, jak do ní uložit hodnotu, jaké v C existují číselné typy, čím se liší, kdy se každý použije, co je to struktura. Pak asi nastuduj nějaké to řízení programu, jako podmínky, cykly. Pak řeš, co je to ukazatel, jak se s nimi pracuje, a pak teprve řeš pole, dynamickou alokaci.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.