- Szerkesztett és makrofotók mobillal
- Honor 200 Pro - mobilportré
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Milyen okostelefont vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- VoLTE/VoWiFi
- Samsung Galaxy A54 - türelemjáték
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Vivo X200 Pro - a kétszázát!
- Yettel topik
Új hozzászólás Aktív témák
-
Retekegér
MODERÁTOR
válasz
Korcsii #3368 üzenetére
Bemásolom az egészet:
#include <stdio.h>
#include <conio.h>
int main ()
{
char c;
int tomb[10], i;
printf("Fajl vege jelig (Ctrl+Z) szabvanyos bementrol olvasva\n");
printf("megszamoljuk, hogy hany szamjegy van a szovegben.\n\n");
for (i=0; i<10; i++)
tomb[i]=0;
while (scanf("%c",&c)==1)
if (c>='0' && c<='9')
tomb[i-'0']++;
for (i=0; i<10; i++)
printf("%d: %d\n",i,tomb[i]);
getch();
return 0;
} -
Retekegér
MODERÁTOR
válasz
Korcsii #3366 üzenetére
Igen, ^Z lesz a konzolon. Ütök utána Entert is, de harmadjára műkszik kb. Illusztráció.
-
Sk8erPeter
nagyúr
válasz
Korcsii #3244 üzenetére
Ne oltogassátok má' szegény csávót, elveszitek a maradék kedvét is.
Szerintem egyébként ebben az esetben ez az általad alkalmazott conditional operator talán logikusabb is, mint egy szétbontott if-else. Persze tényleg ekvivalens mindkettő, csak ilyen esetekre szerintem tipikusan jól alkalmazható, amit mutattál.
-
Jester01
veterán
válasz
Korcsii #3066 üzenetére
Ez egy nagyon trükkös optimalizálás.
-
artiny
őstag
válasz
Korcsii #3050 üzenetére
(s)sanf itt a fscanf re gondoltal? mert a sanf t nem ismerem es nem adott semmit a google.
Valmi ilyesmit probaltam. Harom szamot beolvasni egy txt bol es azt osszeadni es kiiratni.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int i;
int d;
FILE * f;
f = fopen("szam.txt","r");
while (( i= getc(f)) != EOF ){
fscanf(f,"%d",&i);
}
fclose(f);
printf("%d",d);
return 0;
} -
chabeee
aktív tag
válasz
Korcsii #2756 üzenetére
igen ez utólagos próbálkozás volt, és ez kimaradt, de közben én is észre vettem, de még sajnos mindig kifagy.
@jester
másolási hiba,amugy nekem a fordító nem ir ki semmilyen fajta segítséget, lehet a mingw helyett vmit mást kéne feldobni ha egyáltalán ez okozza ezt a hibát -
Jester01
veterán
válasz
Korcsii #2664 üzenetére
c++ rulz, ott csak >> operátor van, semmi más függvény
Azért ezt ne hangoztasd kezdők előtt mert még elhiszik. Példának okáért van std::basic_istream::get() 6 verzióban és még kb ezermillió másik függvény.
Az operator>> különben sem mindenható:
#include <iostream>
#include <string>
using namespace std;
int main(int, char**)
{
string name;
cin >> name;
cout << name << endl;
return 0;
}
$ g++ -Wall test.cpp
$ echo "John Doe" | ./a.out
JohnItt például jól jön a get():
#include <iostream>
#include <sstream>
using namespace std;
int main(int, char**)
{
stringbuf name;
cin.get(name);
cout << name.str() << endl;
return 0;
}
$ g++ -Wall test.cpp
$ echo "John Doe" | ./a.out
John Doe -
Gyuri16
senior tag
válasz
Korcsii #2380 üzenetére
egesz sor beolvasasara ott van a getline fuggveny, nem jo scanf-fel bohockodni
ez megbirkozik a bemenettel akkor is ha nem tudod elore mekkora lesz.
a str fuggvenyekbol pedig jobb azokat hasznalni ahol a nagysagot is meglehet adni, strcat helyett strncat plszerintem a legjobb megoldas altalanos beolvasasra az, hogy getline-al beolvasol egy egesz sort es aztan szetszeded komponensekre az adott feladat szerint
-
kingabo
őstag
válasz
Korcsii #2375 üzenetére
Ok, igazad van.
A szemem az értékadáson akadt meg illetve ezen a mondaton: "csak viszont igy a tomb2 memoriacime mindig felulirodik es az utolso elem tartalma lesz mindig benne" Erre megoldás az strcpy, azt viszont tényleg nem vettem észre, hogy nincs hely foglalva a paramétereknek. -
kingabo
őstag
válasz
Korcsii #2370 üzenetére
"kingabo: strcpy jó, csak épp semmi nem létezik, amit neki adni kéne..."
Hogy hogy nem létezik?Tehát amit beolvas a file-ból az semmi?
(#2372) gergo00: maga a string is egy tömb. Vagyis a 3. dim a beolvasott szövegeket fogja tárolni.
(#2371) gergo00: miért foglalsz le 255 oszlopú tömböt, ha a ciklus végén 6 oszlop után új sort kezdesz?
-
gergo00
csendes tag
válasz
Korcsii #2368 üzenetére
Mondjuk ha igy probálom akkor nem fut le a program, mondjuk 3dtombbel se.
int main()
{
char *tomb[255][255],sor=0,oszlop=0;FILE *fp;
fp=fopen("c:\\all.txt","rw");while(!feof(fp))
{
fscanf(fp,"%s",tomb[sor][oszlop]);
oszlop++;
if(oszlop>6)
{
sor++;
oszlop=0;
}
}system("pause");
}
5let? -
Korcsii
őstag
-
gergo00
csendes tag
válasz
Korcsii #2366 üzenetére
Akkor beszéljunk programnyelven
Mutatnal egy rovid peldat a haromdimenzios tombbel.
Mondjuk én a dinamikussal probalkoztam csak azzal az volt a baj hogy:char *tomb[25][25],*tomb2,
while(!feof(fp))
{
fscanf(fp,%s,tomb2)
tomb[sor][oszlop]=tomb2
}
csak viszont igy a tomb2 memoriacime mindig felulirodik es az utolso elem tartalma lesz mindig benne -
kingabo
őstag
válasz
Korcsii #2301 üzenetére
"i, i-1 és/vagy i+1 is létezzen"
Jobban mondva ezek az indexek is a tömbön belül legyenek: legalább 0 és legfeljebb n-1, ha n elemű a tömb."különben szépen elszáll a program..."
Miért szállna el? Nagy valószínűséggel csak memória szemetet hasonlítgatna, ha dinamikusan lett lefoglalva a tömb, ha nem akkor a veremben elötte/utána lévő dolgokat. A c, c++ nem figyeli, hogy tömbön belül indexeltél-e. (pl a pascal-lal/ada-val ellentétben) Esetleg, ha nagyon rossz helyre menne, az oprendszer nem hagyja. c++-ban acces vialation kivételt dob ha jól rémlik, c alatt passz -
Karma
félisten
válasz
Korcsii #1918 üzenetére
McDonaldsos konyhas inkabb...
Mondjuk vannak olyan szakok, ahol teljesen feleslegesen is beraknak programozast, nem tudom milyen motivaciobol. Pl. a Godolloi Egyetem kornyezetmernoki szakan vegzett ismerosomnek Visual Basicet kellett volna programoznia. Termeszetesen tanitani ott se tanitottak, az eloado peldakodjai is hackeltek es rondak voltak, de eleg korrepetalas utan sikerult atmennie.
-
Sk8erPeter
nagyúr
-
bpx
őstag
válasz
Korcsii #1795 üzenetére
hát pl. az előbb linkelt megoldással qsort-tal és saját összehasonlító függvénnyel lehet rendezni, egy függvénypointer-tömbben (de szép szó
) eltárolod ezeket a fv-eket, és akkor elég a 'mit' változóval ezt a tömböt paraméterezni egy qsort hívásban
persze ha van összesen 2 fv-ed, akkor nem biztos hogy ennyire bonyolítani kell, és simán elég az amit te írtál -
Gyuri16
senior tag
válasz
Korcsii #1795 üzenetére
ezt pont igy meg lehet irni, olvasd el megegyszer shev7 es doc hszait.
a qsortnak adhatsz egy fuggvenyt, ami eldonti miszerint lesz rendezve. megirod ezt a ket fuggvenyt (varos es termek szerint), es beirod az ifedbe a megfelelo parameterekkel a qsortot
itt egy pelda: [link]
-
shev7
veterán
válasz
Korcsii #1793 üzenetére
"függvény talán azért lenne szerencsésebb, mert 3x kell használni, és így elég lenne egyszer megírni... de igazán semmi ötletem nincs erre, max az, hogy egy sima váltózóból kap egy értéket, és azt megvizsgálva a megfelelőt pörgeti végig... na de ez lehet még hosszabb/rosszabb, mint ha mindenhova odaírnám..."
Ezt csak en nem ertem mit akar jelenteni?
-
doc
nagyúr
válasz
Korcsii #1789 üzenetére
az stdlib.h-ban definialt qsort lesz a baratod, kell irnod egy fuggvenyt ami eldonti ket structurarol hogy melyik a nagyobb (ez nem lehet gond), aztan csak siman raengedni a tombre, es voila, kesz is
ha csinalsz ket kulon fv-t, egyet a varos, egyet a termek alapjan torteno osszehasonlitasra, akkor meg mar teljesen kesz a feladatMOD: shev7 megelozott
-
Karma
félisten
válasz
Korcsii #1789 üzenetére
Nezd meg az strcmp fuggvenyt, azzal lehet peldaul ket karakterlancot ABC szerint osszehasonlitani.
Az mar egy kicsit nagyobb magia, hogy olyan fuggvenyt irj, ami a struktura tetszoleges tagvaltozoja szerint kepes rendezni. C++-ban tudom hogy van erre megfelelo pointertipus, sima C-ben nem tudom.
-
Karma
félisten
válasz
Korcsii #1739 üzenetére
A Borland és a Turbo is két antik retek, amit csak azért nyomnak az iskolákban, mert a tanárok lusták művelni magukat. Ahogy az előbb is említettem, csak DOS-ban működő móka mind a kettő.
A Dev-C++ teljesen korrekt választás, bár én annyira nem szeretem azt az IDE-t. Anno Code:
locks-ot használtam első félévben, azóta meg XCode-ot.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen alaplapot vegyek?
- Milyen egeret válasszak?
- Utólag szállít kábelt az MSI az újabb tápjaihoz
- Autós kamerák
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Otthoni hálózat és internet megosztás
- Microsoft Excel topic
- Szerkesztett és makrofotók mobillal
- Honor 200 Pro - mobilportré
- Gamepad
- További aktív témák...
- AKCIÓ! Gigabyte B85-HD3 B85 chipset alaplap garanciával hibátlan működéssel
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- GYÁRI TÖLTŐK DELL LENOVO HP FUJITSU TOSHIBA Macbook---------- Budapest,/MPL/Foxpost
- Csere-Beszámítás! Olcsó RTX Gamer Laptop játékra! I5 11400H / RTX 3050Ti / 16GB DDR4 / 512GB SSD
- ÁRCSÖKKENTÉS LG 24" full HD LED IPS monitor (HDMI, DSUB, jack) eladó
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest