Aktív témák
-
jamye
tag
#include<stdio.h>
#define DARAB 5
int main()
{
int i, j, x,t,szamok[DARAB];
printf(''Kerem a %d db szamot: '', DARAB);
for(i=0; i<DARAB; i++)
scanf(''%d'', &szamok[ i ]);
for(i=DARAB/2; i>=0; i=i-2)
{
t=szamok[ i ];
for(j=i;j<DARAB;j++)
szamok[j]=szamok[j+1];
szamok[ DARAB-1 ]=t;
}
printf(''a szamok a rendezes utan: '');
for(i=0; i<DARAB; i++)
printf(''%d '', szamok[ i ]);
}
Ennek csokkeno sorrendben kell megadni a szamokat es mukodik, ha minden igaz. A rendezest mar nincs kedvem megirni.
Jo ejt mindenkinek! -
jamye
tag
Leírom mégegyszer, mert módosítottam új hozzászólás helyett

Ha már csökkenő sorrendbe vannak rendezve vannak nagyság szerint az elemek, akkor DARAB/2-1 -től 0-ig futtatom a ciklust és az elemet leghátra teszem be, vagyis:
for(i=DARAB/2-1;i>=0;i--)
{
szamok[ i ]=szamok[DARAB-1];
}
Szerintetek?
[Szerkesztve] -
jamye
tag
Én most próbálok rákeresni, hogy is lehet egy ilyen orgona-rendezést csinálni, de a google se magyarul, se angolul semmilyen találatot nem ad.

Közben rájöttem, hogy lehet megvalósítani. Egy kicsit körülményes az elgondolásom, de.... Ha már csökkenő sorrendbe vannak rendezve vannak nagyság szerint az elemek, akkor DARAB/2-1 -től 0-ig futtatom a ciklust és az elemet leghátra teszem be, vagyis:
for(i=DARAB/2-1;i>=0;i--)
{
szamok=szamok[DARAB-1];
}
[Szerkesztve] -
jamye
tag
Rakhatod kívülre is, de alapvetően lokális változóként kéne ezeket deklarálni, mert ha készítesz egy eljárást, vagy függvényt, akkor onnan globálisan látszani fog. Persze ha ezt akarod elérni, az más
, de nekünk alapvetően ezt tiltották eddig az egyetemen, gondolom nem véletlenül, és paraméterként kellett átadni. -
jamye
tag
Igen, valóban onnan indítod ahonnan akarod, de mivel van egy szamok[] tömböd, ami DARAB elemszámú, és feltételezem használni is szeretnéd, nem csak úgy foglalja a helyet, így kénytelen vagy 0-4-ig futtatni az indexet, mivel C-ben a tömbök indexelése 0-tól indul és a tömb elemszáma-1 -ig terjed
[Szerkesztve] -
jamye
tag
Hello!
Egy alapvető hibára szeretném felhívni a figyelmed:
a main() visszatérési értéke int típusú minden esetben, nem pedig void
Egyébként itt a programnak a lényege még hiányzik.
A hibákról: A for(i=1; i<=DARAB; i++) sorban nem lehet i<=DARAB, csak <DARAB, mivel a tömb 5 elemű, ennek 0-4-ig van az indexe, és i=0-tol kell indítani a ciklust. A do{} részt ki is veheted, mert semmi nem csinál.
[Szerkesztve]
Aktív témák
- Kingston HyperX Fury 2x4GB 2133MHz DDR4 kit / Beszámítás OK! / Akciós Ár!
- Eladó Sony PlayStation 5 (Slim) 1TB Digital Edition 2026.12-ig garanciával!
- ASRock B250M-HDV / MSI B150 PC Mate
- 250GB Sata SSD-k / Samsung 840 Evo / 850 Evo / CM871a / Kingmax /
- ASUS ROG G70S retro gamer laptop 17 dual GPU SLI ritka különlegesség
- ÚJ 16" Dell Precision 5690 - Intel Ultra 7, 16 mag, 32 GB RAM, 512 GB SSD, RTX A1000 6GB 27% ÁFÁS
- Új MSI 15 Katana FHD IPS 144Hz i7-13620H 10mag 16GB DDR5 1TB SSD Nvidia RTX 4060 8GB Win11 Garancia
- 3év! AKCIÓ! ÚJ ASUS TUF GAMING Geforce RTX 5080 OC Edition 16GB VRAM Ray Tracing DLSS4
- Okosóra felvásárlás!! Samsung Galaxy Watch 6, Samsung Galaxy Watch 7, Samsung Galaxy Watch Ultra
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



