Új hozzászólás Aktív témák
-
Lortech
addikt
Minek utaztatod meg a stringeket?
Hiszen csak a char*-okra mutató pointereket kell kicserélni ahhoz, hogy **matrixban kialakuljon a helyes a sorrend:if (strcmp(matrix[i], matrix[j]) < 0)
{
char *sp = matrix[i];
matrix[i] = matrix[j];
matrix[j] = sp;
}De ha mégis úgy kéne, akkor pl :
#include <stdio.h>
#include <string.h>void rendez(char **matrix)
{
int i, j;
char ideiglenes[20]="";for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (strcmp(matrix[i], matrix[j]) < 0)
{
strcpy(ideiglenes, matrix[i]);char *segedp;
segedp = (char *)realloc(matrix[i], strlen(matrix[j]) + 1);
matrix[i] = segedp;
strcpy(matrix[i], matrix[j]);segedp = (char *)realloc(matrix[j], strlen(ideiglenes) + 1);
matrix[j] = segedp;
strcpy(matrix[j], ideiglenes);
}
}
printf("\nRendezve: \n\n");
for(i = 0; i < 10; i++)
printf("%s\n",matrix[i]);}
int main(void)
{char *automarkak[10];
automarkak[0]=(char *)malloc(strlen("Mercedes") + 1);strcpy(automarkak[0], "Mercedes");
automarkak[1]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[1], "Ferrari");
automarkak[2]=(char *)malloc(strlen("Audi") + 1);strcpy(automarkak[2], "Audi");
automarkak[3]=(char *)malloc(strlen("Lada") + 1);strcpy(automarkak[3], "Lada");
automarkak[4]=(char *)malloc(strlen("Chevrolet") + 1);strcpy(automarkak[4], "Chevrolet");
automarkak[5]=(char *)malloc(strlen("Ford") + 1);strcpy(automarkak[5], "Ford");
automarkak[6]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[6], "Skoda");
automarkak[7]=(char *)malloc(strlen("Suzuki") + 1);strcpy(automarkak[7], "Suzuki");
automarkak[8]=(char *)malloc(strlen("Opel") + 1);strcpy(automarkak[8], "Opel");
automarkak[9]=(char *)malloc(strlen("Chrysler") + 1);strcpy(automarkak[9], "Chrysler");rendez(automarkak);
}[ Szerkesztve ]
-
Lortech
addikt
A hibaüzenet azért van, hogy ki tudj indulni belőle.
Ha be van includeolva a math.h, működnie kéne első ránézésre (annak a sornak). Miért log(2)? Miért nem log(b)? A ciklusban az első értékadás fordítva van. Ráadásul ha egy karaktertömbnek elemének értékül adsz egy int-et, akkor nem a megfelelő szám karaktere kerül bele, hanem a kódja.
szerk: while () után pontosvessző.[ Szerkesztve ]
-
doc
nagyúr
Nemfordítja le mert valami kínja van.
ezt a pontos, precíz hibaüzenetet...JuveGabor:
magyar nyelvű C fordító? nem hiszem hogy létezne, meg értelme amúgy sem sok van...
ha hibás a program, megmondja melyik sorban van. és ha az angol hibaüziből nem jössz rá hogy mi a baj, az azért durva...
azt hogy érted hogy "csak egy pontosvesszőt ír a forrásba"?
a programot neked kell megírni[ Szerkesztve ]
-
Lortech
addikt
Nyilván nincs rá beépített függvény, ha lenne, nem ez lenne a feladatod.
Neked kell megírnod.Gondold végig (ha eddig nem tetted volna), hogyan áll össze egy szám tetszőleges számrendszerben általánosan, majd azt, hogyan lehet átváltani egy decimális számot másik számrendszerbe (pl binárisba). Nincs nehéz dolgod, mert eléggé le van egyszerűsítve a feladat.
A fv. kb 10 sor cicomázással együtt. A fő rész egy ciklus, benne két db értékadás.[ Szerkesztve ]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Mini PC
- Építő/felújító topik
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Xiaomi 14 Ultra - Leica hercegnő
- iPhone topik
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Nvidia GPU-k jövője - amit tudni vélünk
- SSD kibeszélő
- Szívós, szép és kitartó az új OnePlus óra
- További aktív témák...
- Fiio m15s dap hordozható zenelejátszó
- Bontatlan, iPhone 16 Pro Max 256gb, natúr titán, 3 év garanciával, eladó!
- Nintendo Switch CFW okos! 32+64GB Dual Boot OFW+CFW Tinfoil Hekate + hordozó tok + üvegfólia
- Samsung Galaxy S24 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 64GB, Kártyafüggetlen, 1 Év Garanciával