Diskuze: násobení čísel v poli
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Na cem konkretne jsi se zasekl u nasobeni cisel? U toho druheho pripadu ti jde taky o libovolny pocet cisel nebo presne jenom o dve? Jsi si jisty, ze uz v poli mas zaporna cisla? Skoro to spis vypada (pokud u odcitani pracujes opravdu s polem), ze odecitas v nejakem cyklu a vysledek hadam ukladas do promenne, kterou neustale zmensujes a pokud mas v te promenne na zacatku 0, tak to funguje naprosto spravne (0 - 3 = (-3), (-3) - 2 = (-5)).
Pokud chceš vynásobit všechna čísla v poli, tak si napiš for cyklus, který jde od nuly až po počet čísel v poli -1, proměnnou j, která bude jedna a v cyklu jenom vynásob j= j * pole s indexem cyklu. Nevím jestli je to dost srozumitelné, jsem na mobilu a k té negaci, to jsem nějak nepochopil
Bylo by dobré, kdybys nám poslal to co jsi zatím napsal, abychom věděli co je špatně, co ti tam chybí etc. //edit, už jsem na ntb, ale starý příspěvek nemůžu editovat a tady jsem nechtěně nedal odpověď na tvůj příspěvek, ale na můj koment
U druhého příkladu jsem to už vyřešil, pořád jsem se snažil otočit znaménka a přitom kód stačilo nechat jako u sčítání a u toho při zadávání čísel změnit znaménka Jinak u násobení nevím celkově, jak to vyřešit pro větší počet čísel, který chci zadat. Kód mám udělaný zatím jen pro 2 čísla. Předpokládám, že základ bude stejný jako u case 1 a case 2, akorát rozdíl bude potom v cyklu for.
Asi ne.. mám problém s prací s poli, musim to ještě nastudovat, trochu se v tom ztrácim.. Tohle mi vyhodí chybu po zadání všech čísel, kdy by mi to mělo už vyhodit výsledek.
case 3: // násobení
System.out.println(" Kolik čísel budete chtít násobit?");
int pocetnasob = Integer.parseInt(sc.nextLine());
int[] nasobeni = new int [pocetnasob]; // pole pro počet čísel pro násobení
for (int i = 0; i < pocetnasob; i++)
{
System.out.printf("Zadejte %d. číslo k násobení : ", i + 1); // pocet čísel pro násobení
nasobeni[i] = Integer.parseInt(sc.nextLine());
}
for (int i : nasobeni)
vysledek = vysledek * nasobeni[i];
Ten for each cyklus tam je naprosto zbytečný, takhle to funguje:
System.out.println(" Kolik čísel budete chtít násobit?");
int pocetnasob = Integer.parseInt(sc.nextLine());
int[] nasobeni = new int [pocetnasob]; // pole pro počet čísel pro násobení
int vysledek = 1;
for (int i = 0; i < pocetnasob; i++)
{
System.out.printf("Zadejte %d. číslo k násobení : ", i + 1); // pocet čísel pro násobení
nasobeni[i] = Integer.parseInt(sc.nextLine());
vysledek = vysledek * nasobeni[i];
}
System.out.println(vysledek);
Byl jsem ve škole, tak jsem se k tomu dostal až teď.. momentálně díky moc, povedlo se snad se v těch polích začnu víc orientovat
Zobrazeno 10 zpráv z 10.