Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
lidi já sem dost v háji zadání zní : program načte vstupní textový "seznam zboží" (název, cena, počet kusů na skladě) soubor ve formátu:
procesor Core i3-530, 3097, 5
procesor Core i5-660, 5258, 8
procesor Core i7-930, 7575, 0
1) počet typů zboží od jednotlivých položek (určuje první slovo v názvu) a jejich celkový počet
procesor: 13
paměť: 16
...
2) celkovou cenu zboží na skladě
já to zvládnu sotva načíst:
try {
BufferedReader r = new BufferedReader(new FileReader("data.txt"));
String s;
while ((s = r.readLine()) != null) {
System.out.println(s);
}
r.close();
} catch (FileNotFoundException ex) {
System.out.println("Soubor nenalezen");
} catch (IOException ex) {
System.out.println("I/O chyba");
}
}
}nemohl by mi prosím někdo třeba jen něco málo napsat, poradit
samozřejmě to má vytisknout správnej počet ty čisla sou jen přiklad
Offline
Cist nejakou literaturu, programovat ve svem volnem case, zkouset si programovat ruzne ulohy. Ale asi jako u vseho i zde plati, ze pokud te to nebavi, tak se nikdy ani zdaleka nedostanes k reseni slozitejsich uloh, protoze nezvladnes ani ty jednoduche.
Offline
Nevím, jak to funguje v Javě, ale asi bych četl znak po znaku. Jednoduše bych si v Tvém případě vytvořil tři pole (název; cena a počet kusů na skladě). Není to implementace v Javě, ale je to pouhý nápad (myšlenka), který mě napadl. Nezkoušel jsem, můžu tam mít logickou chybu. V céčku by to mohlo chodit.
int polozka = 0;
int counter = 0;
int pozice = 0;
// deklarace tří polí (dvě pole typu string (nejsem si jist, jestli je to možné) a jedno pole typu int)
do {
znaky[pozice++] = // nějaká funkce pro načítání znaků (ze souboru)
if (znaky[pozice] == ' ') {
if (polozka == 0) { nazev[counter] = znaky; };
if (polozka == 1) { cena[counter] = znaky; };
if (polozka == 2) { pocetKusu[counter] = znaky; };
polozka++;
pozice = 0;
}
if (polozka == 3) { polozka = 0; counter++; };
}Potom už stačí jenom procházet tyto pole přes nějaký cyklus - třeba for. Toto je taková céčkovská myšlenka, stoprocentně to jde udělat lépe, rychleji a radostněji. ;-)
Offline
Tady je ještě jedna myšlenka, v C++ (objektově). Bude to mít určitě blíže k implementaci, než ten kód nad tím:
void cti(ifstream& s, Sklad * k)
{
for(size_t i = 0; i != velikostPole; i++)
{
Sklad temp;
s.getline(temp.nazev, 20, ' ');
s.getline(temp.cena, 20, ' ');
s >> temp.pocetKusu;
k[i] = temp;
}
}Je to řešené přes proudy.
Offline
↑ septolet: mě to dokonce i bavilo a docela i šlo než sme dostali tohohle učitele, jenže to byly ty programy asi jednodušší (stylu generování čísel na sportku, programy na počítání... ), tenhle učitel piše program kterej nám promítá strašně rychle ho upravuje a mění my si nestihneme nic opsat a prakticky se nemáme z čeho učit a pak je pruměr znamek ve třídě z programování 4,6
Offline