- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy A56 - megbízható középszerűség
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Tényleg ilyen jól fotóz a Nubia közelgő csúcskészüléke?
- iPhone topik
- Milliókkal olcsóbb a Model Y Standard Magyarországon
- Xiaomi 14T Pro - teljes a család?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Telekom mobilszolgáltatások
- Xiaomi Redmi Note 4 - B20
-
Mobilarena
Új hozzászólás Aktív témák
-
doc
nagyúr
azért ez elég messze van a maradéktól
C-rol azt kell tudni, hogy ha egesz szamot osztasz egesszel, akkor a vegeredmeny is egesz lesz
ha azt akarod hogy tizedestort legyen a vege (tehat lebegopontos szam) akkor azzal kell osztani, tehat:
5/2=2
de:
5/2.0=2.5
probald ki:
printf(''%f'',5/2.0); -
doc
nagyúr
ezzel a kóddal több gond is van. de először a kérdéseid:
ha c++-t használsz, akkor bárhol a kódban tudsz tömböt deklarálni, vagyis meg tudod csinálni amit szeretnél. pl:
#include <iostream>
using namespace std;
int main()
{
int x;
cout << ''Hány elemű legyen:'' << endl;
cin >> x;
int a[x];
cout << ''A tömb mérete (byte): '' << sizeof(a) << '' A tömb mérete (elemszám): '' << x << endl;
}
sima C-ben bonyolultabb a dolog, ott annyit tudsz csinálni, hogy van egy pointered, és annak foglalsz annyi memóriát, amennyi kell, a program végén pedig felszabadítod:
int main()
{
int x,*a;
cout << ''Hány elemű legyen:'' << endl;
cin >> x;
a=(int*)malloc(sizeof(int)*x);
free(a);
}
mindkét esetben használhatod a megszokott a[n] formát a tömbelemek eléréséhez
másik kérdés:
ha maradékos osztásra gondolsz, a megoldás: %
pl. 7%3=1 (mivel 7-et osztva 3-mal a maradék 1)
a forráskódod elég sok sebből vérzik...
1.)
int x;
int tomb[x];
itt mekkora x? vagy 0 (ekkor 0 elemű lesz a tömböd - sokat nem érsz vele) vagy véletlenszerű értéket kap (fordítótól függően)
2.)
a for ciklus magját { } zárójelek közé kell tenni, mert így csak a printf-et hajtja végre x-szer (bár ha a programot kipróbálnál, rájöhetnél könnyen...)
3.)
a 'Kérem a(z) {0}.szamot' gondolom ez akar lenni: ''Kerem a(z) %d. szamot'', ugye?
4.)
scanf(''%d'',&tomb)
ezzel meg az a gaz, hogy a tombre mutato pointert irod, vagyis a tomb cimet -> akkora General Protection Fault mint egy haz
helyesen: scanf(''%d'',tomb+i)
amugy meg feleslegesen bonyolitod, gyorsan csinaltam egy egyszerubb megoldast:
#include <stdio.h>
int main()
{
int n,i,temp;
long sum=0;
printf(''Elemszam: '');
scanf(''%d'',&n);
for (i=0; i<n; ++i)
{
printf(''\n%d. szam: '',i+1);
scanf(''%d'',&temp);
sum+=temp;
}
printf(''\nAtlag: %d\n'',sum/n);
} -
amargo
addikt
dinamikus tömbök-nek hívják ezeket, ezt pedig úgy éred el, hogy:
#include <stdio.h>
void main(void)
{
int x;
//int tomb[x]; //!!!!
int i;
for (i = 0; i < x; i++)
printf(''Hany szam szamtani atlagat akarja meghatarozni?:\n'');
scanf(''%d'', &x);
int tomb[x]; //!!!!
printf(''Kerem a(z) {0}. szamot'',i+1);
scanf(''%d'', &tomb);
printf(''A szamok szamtani atlaga: '');
}
A szám bekérését még kicsit törd. Amit doc írt, kicsit gondold át. De van még egy istringstream nevezetű függvény is (aminek létezését én is nem rég tudtam meg).
Szerk:
Öööö most látom, hogy ami itt írsz:
scanf(''%d'', &tomb);
tömben egy elemre pedig tomb[ i ]-vel tudsz hivatkozni. Ha már bele akarod rakni.
[Szerkesztve] -
doc
nagyúr
na igen, az ellenőrzött input jó kis játék
ebben a formában nem jó, ugyanis bármit írsz be, az int-be teszi, ami nyilván csak számra lesz jó...
ha jelezni akarod a hibás inputot, akkor stringbe kérd be, és azt alakítsd számmá az atoi() fv-nyel
a scanf után minek a '{'? ugyanannyi nyitó zárójel legyen mint záró!
MOD: próbálkozz, ha nem megy szólj. de a lényeg hogy próbálkozz, abból sokkal többet tanulsz mint ha mi megírjuk a kódot!
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- One otthoni szolgáltatások (TV, internet, telefon)
- Spórolós topik
- Honor Magic6 Pro - kör közepén számok
- Suzuki topik
- Samsung Galaxy A56 - megbízható középszerűség
- Azonnali fáradt gőzös kérdések órája
- Hyundai, Kia topik
- Battlefield 6
- Kerékpárosok, bringások ide!
- További aktív témák...
- Újszerű LENOVO Ideapad 3 - 15.6" Full HD IPS - Ryzen 5-5500U - 8GB - 256GB SSD - Win11 - MAGYAR
- Western Digital Black 500GB 3,5"-os hdd-k (
- AKCIÓ ÚJ Bontatlan Macbook Pro 14 M4 MAX 14 32GPU 36GB 1TB Magyar billentyűzet Azonnal átvehető Deák
- BONTATLAN Új Ipad 9th 10th 11 gen. Air 6 7 , Ipad Pro Mini 7 IPADEK Azonnal DEÁK Térnél Átvehető.
- BONTATLAN Új iPhone 17 PRO MAX 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- GYÖNYÖRŰ iPhone 13 mini 256GB Red -1 ÉV GARANCIA -Kártyafüggetlen, MS3619
- Samsung Galaxy Z Fold 6 Silver Shadow Hajlítható csúcstechnológia, AI extrákkal 2028. 01.24 Gari
- ÚJ Microsoft Surface Laptop 7 13.8" 2K - 120Hz Érintő - Snapdragon X Elite - 16GB - 512GB-2 év gari
- Bomba ár! Dell Latitude E6220 - i7-2GEN I 8GB I 128SSD I 12,5" HD I HDMI I Cam I W10 I Garancia!
- Apple TV 4K 2.gen (A2169) 32 GB 6 hónap Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest