Anonymní profil Josef Hrdina – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Josef Hrdina – Programujte.comAnonymní profil Josef Hrdina – Programujte.com

 

Příspěvky odeslané z IP adresy 188.120.210.–

C / C++ › Knížka C++
27. 1. 2018   #219525

Ahoj, dle mého názoru je nejlepší volbou kniha Dokonalý kód (Code complete), kterou napsal Steve McConnell

C / C++ › C++ elektronická kniha jízd
9. 1. 2018   #219260

#5 Roman

Při deklaraci proměnných je vždy inicializuj (int a = 0; std::string b = "";), snadno se ti pak stane, že program dělá co nemá, protože nemáš jistotu, co na daných adresách je. Dále bych si zvolil pouze jeden jazyk pro názvy proměnných a metod, půlka česky a druhá půlka anglicky mi moc do oka nejde :-) a poslední věc ... nebylo by na škodu předělat to do objektů .. to je vše co mne k tomu napadlo, možná někdo bude mít jiný názor

C / C++ › C++- Prosím o pomoc !!!
31. 12. 2017   #219174

#6 Martin2510

Promiň, dnes už nemám čas, navíc .. psal si, že termín máš do 31 (předpokládám do 23:59:59) .. víc toho pro tebe udělat nemůžu

C / C++ › C++- Prosím o pomoc !!!
31. 12. 2017   #219172

#4 Yenkee

už mi to nejde editovat.. u F05 jsem na něco zapomněl .. nebylo by od věci v mainu nastavit proměnný počátek a konec intervalu = 0..

PS: promiň až teď jsem si všiml, že se má pracovat pořád s tím prvním polem,ale to už si snadno doopravíš

F06  

bool zjistiNarust(int(*pole), const int& POCET_PRVKU)
{

    for (int i = 1; i < POCET_PRVKU; i++)
    {
        if (pole[i] > pole[i - 1])
        {
            return true;
        }
        else
            return false;
    }
}

int main(int argc, char** argv)
{
    int const POCET_PRVKU = 19;

    int pole[POCET_PRVKU] = { 1, 2, 3, 4, 5, 6, 7, 8., 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
    zjistiNarust(pole, POCET_PRVKU);

    return 0;
}
C / C++ › C++- Prosím o pomoc !!!
31. 12. 2017   #219169

Ahoj, tady máš Funkci02 - 05 (u některých je třeba ještě ošetřit vstupy)

F02

int const POCET_PRVKU = 19;
double pole[POCET_PRVKU];
double cislo = 0.5;


for (int i = 0; i < POCET_PRVKU; i++)
{
    cislo = cislo / 2;
    pole[i] = cislo;
}

F03

double parametr;
cout << "Zadejte libovolne cislo: " << endl;
cin >> parametr;

for (int i = 0; i < POCET_PRVKU; i++)
{
    pole[i] = parametr;
}

F04

bool porovnejPole()
{
    int const POCET_PRVKU = 19;
    int i = 0;
    double pole[POCET_PRVKU]
        = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
    double pole1[POCET_PRVKU]
        = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };

    for (i = 0; i < POCET_PRVKU; i++)
    {
        if (pole[i] == pole1[i])
        {
            return true;
        }
        else
            return false;
    }
}


int main(int argc, char** argv)
{

    porovnejPole();

    return 0;
}

F05

int zjistiKolikCiselNepatri(int& pocatekIntervalu, int& konecIntervalu, int& pomocna)
{
    int const POCET_PRVKU = 19;

    int i = 0;
    int pole[POCET_PRVKU] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
    for (i = 0; i < POCET_PRVKU; i++)
    {
        if (pole[i] < pocatekIntervalu || pole[i] > konecIntervalu)
        {
            pomocna++;
        }
    }
    return pomocna;
}


int main(int argc, char** argv)
{
    int pocatekIntervalu;
    int konecIntervalu;
    int pomocna = 0;

    cout << "Zadejte pocatek intervalu: " << endl;
    cin >> pocatekIntervalu;
    cout << "Zadejte konec intervalu: " << endl;
    cin >> konecIntervalu;
    zjistiKolikCiselNepatri(pocatekIntervalu, konecIntervalu, pomocna);
    cout << "Pocet prvku pole mimo zadany interval: " << pomocna << endl;


    return 0;
}
C / C++ › Kontrola kódu OOP C++
31. 12. 2017   #219168

#37 gna

všechny vypisuji opět pod casem

   case 3:
                    system("cls");
                    if (pocet < 1)
                    {
                        cout << "Zahon je prazdny ! Nejprve je treba nejakou rostinu pridat."
                             << endl;
                    }
                    for (int i = 0; i < pocet; i++)
                        rostliny[i].RostlinaInfo();

                    break;
C / C++ › Kontrola kódu OOP C++
31. 12. 2017   #219166

#35 KIIV

Ano, mám dva druhy výpisů, kde každý používám na něco jiného (oba fungují, jak mají)

  void vypis()
    {
        cout << "ROSTLINA: " << druh << " "
             << ", BARVA KVETU: " << barvaKvetu << " "
             << ", VYSKA: " << vyska << "" << endl;
    }
void RostlinaInfo()
    {
        cout << "----------------------" << endl;
        cout << "Informace o rostline: " << endl;
        cout << "----------------------" << endl;
        cout << "Druh: " << druh << endl;
        cout << "Barva Kvetu: " << barvaKvetu << endl;
        cout << "Vyska: " << vyska << " cm" << endl;
        cout << "Cena: " << cenaDruhu() + cenaBarvyKvetu() + cenaVysky() << " Kc" << endl;
    }
C / C++ › Kontrola kódu OOP C++
31. 12. 2017   #219164

#32 KIIV
Jak ten ofstream použít, aby soubor nepřemazával ?

C / C++ › Kontrola kódu OOP C++
31. 12. 2017   #219163

#31 Kit

Tu implementaci ukládání mám pod casem, čili pokud chce uživatel uložit, měl by se kód provést znovu celý ne ? tedy znovu otevřít soubor, zapsat a zavřít. Nebo to chápu špatně ?

C / C++ › Kontrola kódu OOP C++
31. 12. 2017   #219160

#29 KIIV

Pokud spustím program, přidám rostliny a uložím, tak jsou v souboru zapsány, pokud při stejném běhu programu přidám další rostlinu  a chci uložit podruhé, do souboru se už neuloží, jsou tam jen ty z prvního uložení (hlásí chybu, že se soubor nepodařilo otevřít). No a pokud program vypnu a znovu zapnu, tak se obsah souboru vymaže.

C / C++ › Kontrola kódu OOP C++
31. 12. 2017   #219158

Netušíte někdo proč se mi data do souboru zapíší, ale neuloží ? po znovu spuštění programu se soubor vymaže, stejně tak pokud chci ukládat více než jednou (to už se ani nezapíší)

metoda ve třídě:

  void ulozDoSouboru(ofstream& soubor)
    {
        soubor << druh;
        soubor << barvaKvetu;
        soubor << vyska;
    }

implementace

ofstream f("cesta k souboru");

if (f.is_open())
                    {
                        for (int i = 0; i < pocet; i++)
                        {
                            rostliny[i].ulozDoSouboru(f);
                        }
                        cout << "Informace o rostlinach na zahone byly uspesne ulozeny. " << endl;
                        f.close();
                    }
                    else
                        cout << "Soubor se nepodarilo otevrit." << endl;
                }
C / C++ › Kontrola kódu OOP C++
30. 12. 2017   #219155

#26 gna
Nechám si to pole, přijde mi to lepší .. na delete jsem samozřejmě zase zapomněl :) Děkuji

C / C++ › Kontrola kódu OOP C++
30. 12. 2017   #219152

Zdravím, většinu funkcí se mi již podařilo opravit, nyní jsem se zasekl na funkci, která by dokázala odebrat vybranou rostlinu, kterou přidávám následující funkcí. 

void pridejRostlinu(rostlina** rostliny, int& pocet)
{

    //zde vstupy od uživatele a podmínky, které je šetří -pro přehlednost 
    // jsem je vynechal

    rostlina* rostliny2 = new rostlina[pocet + 1];
    for (int i = 0; i < pocet; i++)
    {

        rostliny2[i] = (*rostliny)[i];
    }
    rostliny2[pocet] = rostlina(druh, barvaKvetu, vyska);
    *rostliny = rostliny2;
    pocet++;
}
C / C++ › Kontrola kódu OOP C++
28. 12. 2017   #219123

zatím jsem zkusil opravit pouze třídu rostlina, už by to mělo vracet to, co je potřeba

rostlina.h

#ifndef __Rostlina_h_
#define __Rostlina_h_

class Rostlina
{
private:

  std::string druh;
  std::string barvaKvetu;
  int vyska;
  
public: 

    Rostlina(std::string infoRostlina);
    std::string vypisDruh();
    std::string vypisBarvuKvetu();
    int vypisVysku();
    int vypisCenu();
    int vypisCenuDruhu();
  
    
    

};

#endif // __Rostlina_h_

rostlina.cpp

#include <iostream>
#include <sstream>
#include <stdlib.h>
#include "Rostlina.h"
using namespace std;


Rostlina::Rostlina(std::string infoRostlina){
    
    stringstream rostlinaStream(infoRostlina);
    rostlinaStream >> druh;
    rostlinaStream >> barvaKvetu;
    rostlinaStream >> vyska;
}

std::string Rostlina::vypisDruh(){
    cout << "Druh: " << druh << endl;
  }

std::string Rostlina::vypisBarvuKvetu(){
    cout << "Barva kvetu: " << barvaKvetu << endl;
  }   
  
int Rostlina::vypisVysku(){
    cout << "Vyska: " << vyska << endl;
  } 
  
int Rostlina::vypisCenu(){
    int cena = 0;
    
     if(druh == "ruze")
        {
        cena = cena + 30;
        } else if (druh == "cimisnik")
            {
            cena = cena + 25;
            }  else if (druh == "denivka")
                {
                cena = cena + 20;
                } else if (druh == "levandule")
                    {
                    cena = cena + 15;
                    } else if (druh == "tulipan")
                        {
                        cena = cena + 10;
                        } else { cout << "Tuto rostlinu bohuzel nemame."  << endl;
                                 exit(EXIT_FAILURE);
                                 } 
   
     if(barvaKvetu == "cervena")
         {
         cena = cena + 15; 
         } else if (barvaKvetu == "fialova")
            {
            cena = cena + 14;
            }  else if (barvaKvetu == "bila")
                {
                cena = cena + 13;
                } else if (barvaKvetu == "ruzova")
                    {
                    cena = cena + 12;
                    } else if (barvaKvetu == "zelena")
                        {
                        cena = cena + 11;
                        } else { cout << "Rostliny o takove barve kvetu bohuzel nemame."  << endl; 
                                 exit (EXIT_FAILURE);            
                                }
    if (vyska > 0 && vyska < 15)
        {
        cena = cena + 5;
        } else if (vyska > 15 && vyska < 30)
            {
            cena = cena + 10;
            } else if (vyska > 30 && vyska < 60 )
            {
            cena = cena + 40;
            } else { cout << "Zadana vyska je neplatna. Pouzijte prosim vysku od 0 do 60 cm" << endl;
                    exit (EXIT_FAILURE);
                   }

     
     cout << "Cena této rostline je: "  << cena << "Kč." << endl;
  }     
  
  int Rostlina::vypisCenuDruhu(){
      int cena = 0;
      
       if(druh == "ruze"){
        cena = cena + 30;
        } else if (druh == "cimisnik"){
            cena = cena + 25;
            }  else if (druh == "denivka"){
                cena = cena + 20;
                } else if (druh == "levandule"){
                    cena = cena + 15;
                    } else if (druh == "tulipan"){
                        cena = cena + 10;
                        } else { cout << "Tuto rostlinu bohuzel nemame."  << endl;
                                 exit (EXIT_FAILURE);
                                 }
         cout << "Cena " << druh <<" je: " << cena << " Kč" << endl;
      }
C / C++ › Kontrola kódu OOP C++
28. 12. 2017   #219118

#17 hlucheucho

Mým cílem je projít povinným kurzem programovaní (bohužel i ve specializaci, která programování nevyžaduje je jeden povinný), nikoli se naučit programovat. Navíc teoretickou část mám již za sebou, už jen dodělat program.

C / C++ › Kontrola kódu OOP C++
28. 12. 2017   #219116

#15 Jerry

Ale ano, odhalili mi spoustu chyb, které se snažím postupně vyřešit. Například už se mi podařilo opravit "vypisNeco" metody, aby opravdu vracely to, co potřebuji. Nabídku na opravu jsem zadal proto, abych ušetřil investovaný čas, člověku, který tomu rozumí to zabere 1/10 času. Já se programovat učím 2 měsíce, takže mi bohužel chybí ten potřebný nadhled a u každého, byť sebemenšího problému, se zaseknu na dlouhou dobu.

Tvůj komentář byl více než zbytečný.

C / C++ › Kontrola kódu OOP C++
27. 12. 2017   #219112

Stále platí nabídka odměny pro toho, kdo by byl ochoten opravit program do funkční podoby

C / C++ › Kontrola kódu OOP C++
26. 12. 2017   #219104

#10 KIIV
No tak to si nejsem jistý, ale když jsem z hlavičkových souborů odebral namespace std, tak to tu mám samou chybu

C / C++ › Kontrola kódu OOP C++
26. 12. 2017   #219102


Mnohokrát děkuji, jdu na to mrknout :-) 

Edit: Nabízím finanční odměnu za případnou korekturu, už si nevím rady

        kontakt: yenkee.gaming@seznam.cz

C / C++ › Kontrola kódu OOP C++
26. 12. 2017   #219099

spustí se menu, požádá uživatele o vstup a po zadání vstupu nereaguje :-)

C / C++ › Kontrola kódu OOP C++
26. 12. 2017   #219097

Dát to sem klidně můžu, otázkou je, kdo to zadarmo bude chtít zkontrolovat :-)

Požadovaná funkcionalita:

- přidání nové rostliny na záhon
- odebrání vybrané rostliny ze záhonu
- výpis informací o vybrané rostlině včetně její ceny
- výpočet celkové ceny všech rostlin na záhoně
- výpis informací a výpočet celkové ceny všech rostlin konkrétního druhu

Záhon má předem definovanou kapacitu (počet rostlin), takže nelze přidávat
do nekonečna, rovněž nelze odebírat ze záhonu, který nemá žádné rostliny.   
  
Rostlina:
- druh (např. růže, čimišník, denivka ...)
- barva květu
- výška

Každá rostlina má určitou cenu (v Kč), která se vypočítá z výše uvedených 
informací.

Program bude uchovávat stav záhonu v souboru, kam se budou promítat
veškeré změny (přidání, odebrání).

Mé řešení:

 main.cpp

#include <iostream> 
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
#include <Rostlina.h>
#include <Zahon.h>
using namespace std;


void vypisMenu(){
    cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << endl;
    cout << "+                                                       +" << endl;
    cout << "+          1) Pridat rostlinu                           +" << endl;
    cout << "+          2) Odebrat rostlinu                          +" << endl;
    cout << "+          3) Vypsat informace o rostline               +" << endl;
    cout << "+          4) Vypocitat celkovou cenu                   +" << endl;
    cout << "+          5) Vypsat informace o konketnim druhu        +" << endl;
    cout << "+                                                       +" << endl;  
    cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << endl;
    }
    
void vypis(Rostlina rostlina);
void vypisCenuDruhu(Rostlina);
void odebratRostlinu(Zahon, int);
void pridatRostlinu(Zahon);
void cenaVsechRostlin(Zahon);
void cenaVsechDruhu(Zahon);




int main(int argc, char **argv){
    
    vypisMenu();
    
    int vstup = 0;
    int cena = 0;
    int i = 1;
    const int limit = 50;
    
    
    cout << " Zadejte vasi volbu: " << endl;
    cin >> vstup;
  
    Zahon zahon("Soubor.txt");
   for(Rostlina rostlina : zahon.rostliny){
        cout << i << ". ";
        vypis(rostlina);
        cena = cena + rostlina.vypisCenu();
        i++;
    }
    cout << "-----------------------------------------------" << endl;
    
    switch(vstup){
        
        case 1: {
            if(zahon.rostliny.size() > limit){
                cout << "Na tento zahon pridat vice rostlin !" << endl;
                break;
            }
            else{
                pridatRostlinu(zahon);
                
            }
        }
        
        break;
        
        case 2: {
            cout << "Zadejte prvek ktery chcete odebrat: ";
            int prvek = 0;
            cin >>prvek;
            
            if(prvek > 0 && prvek < limit && prvek < zahon.rostliny.size()){
                odebratRostlinu(zahon, prvek);
            }
            else{
                cout << "Nepaltny vstup !";
                return 0;
            }
            break;
        }
        
       case 3: { 
            cout << "Zadejte rostlinu, kterou chcete vypsat: ";
            int prvek = 0;
            cin >> prvek;
            if(prvek > 0 && prvek < limit && limit > zahon.rostliny.size()){
              vypis(zahon.rostliny.at(prvek-1));
            }
            else{
                cout << "Neplatny vstup !";
                return 0;
            }
            break;
        }
        
        case 4: { 
            cenaVsechRostlin(zahon);
            break;
        }
        
        case 5: {
            cenaVsechDruhu(zahon);
            break;
        }
        
        default:{ 
            cout << "Neplatna volba! " << endl; 
            return 0;
        }
    }
    ofstream soubor;
    soubor.open("soubor.txt");
    for(Rostlina rostlina : zahon.rostliny){
        soubor << rostlina.vypisDruh() << " " << rostlina.vypisBarvuKvetu() << " " << rostlina.vypisVysku() << endl;
    }
}   

void vypis(Rostlina rostlina){
    cout << "Druh: " << rostlina.vypisDruh() << endl;
    cout << "Barva kvetu: " << rostlina.vypisBarvuKvetu() << endl;
    cout << "Vyska: " << rostlina.vypisVysku() << endl;
    cout << "Cena: " << rostlina.vypisCenu() <<endl;
}  

void pridatRostlinu(Zahon zahon){
    cout << "Zadejte druh rostliny: " << endl;
    string vstup_druh;
    cin >> vstup_druh;
            
    cout << "Zadejte barvu kvetu: " << endl;
    string vstup_barva;
    cin >> vstup_barva;
            
    cout << "Zadejte vysku rostliny: " << endl;
    int vstup_vyska;
    cin >> vstup_vyska;
            
    stringstream ss;
    ss << vstup_druh << " " << vstup_barva << " " << vstup_vyska << endl;
    string str;
    str = ss.str();
            
    Rostlina novaRostlina(str);
    zahon.rostliny.push_back(novaRostlina);
    int i = 1;
    for(Rostlina rostlina : zahon.rostliny){
        cout << i << ". ";
        vypis(rostlina);
        i++;
    }
}

void vypisCenaDruhu(Rostlina rostlina){
    cout << "Cena druhu je: " << rostlina.vypisCenuDruhu() << endl;
}

void odebratRostlinu(Zahon zahon, int prvek){
    int i = 1;
    zahon.rostliny.erase(zahon.rostliny.begin()+prvek-1);
    for(Rostlina rostlina : zahon.rostliny){
        cout << i << ". ";
        vypis(rostlina);
        i++;
    }
}

void cenaVsechRostlin(Zahon zahon){
    int cena = 0;
    for(Rostlina rostlina : zahon.rostliny){
        cena = cena + rostlina.vypisCenu();
    }
    cout << "Cena vsech rostlin je: " << cena << endl;
}

void cenaVsechDruhu(Zahon zahon){
    int cenaDruhu;
    for(Rostlina rostlina : zahon.rostliny){
        cenaDruhu = cenaDruhu + rostlina.vypisCenuDruhu();
    }
    cout << "Cena vsech druhu rostlinje: " << cenaDruhu << endl;
}

Rostlina.cpp

#include "Rostlina.h"
#include <iostream>
#include <cstring>
#include <sstream>
using namespace std;

Rostlina::Rostlina(string infoRostlina){
    
    stringstream rostlinaStream(infoRostlina);
    rostlinaStream >> druh;
    rostlinaStream >> barvaKvetu;
    rostlinaStream >> vyska;
}

string Rostlina::vypisDruh(){
    return druh;
  }

string Rostlina::vypisBarvuKvetu(){
    return barvaKvetu;
  }   
  
int Rostlina::vypisVysku(){
    return vyska;
  } 
  
int Rostlina::vypisCenu(){
    int cena = 0;
    
    if(druh == "ruze"){
        cena = cena + 30;
        } else if (druh == "cimisnik"){
            cena = cena + 25;
            }  else if (druh == "denivka"){
                cena = cena + 20;
                } else if (druh == "levandule"){
                    cena = cena + 15;
                    } else if (druh == "tulipan"){
                        cena = cena + 10;
                        } else { cout << "Tuto rostlinu bohuzel nemame."  << endl;
                                 } 
   
     if(barvaKvetu == "cervena"){
         cena = cena + 15; 
        } else if (barvaKvetu == "fialova"){
            cena = cena + 14;
            }  else if (barvaKvetu == "bila"){
                cena = cena + 13;
                } else if (barvaKvetu == "ruzova"){
                    cena = cena + 12;
                    } else if (barvaKvetu == "zelena"){
                        cena = cena + 11;
                        } else { cout << "Rostliny o takove barve kvetu bohuzel nemame."  << endl;             
    
    if (vyska > 0 && vyska < 15){
        cena = cena + 5;
        } else if (vyska > 15 && vyska < 30){
            cena = cena + 10;
            } else if (vyska > 30 && vyska < 60 ){
            cena = cena + 40;
               } else { cout << "Zadana vyska je neplatna. Pouzijte prosim vysku od 0 do 60 cm" << endl;
                   }

     return cena;
  } 
   }
  
  int Rostlina::vypisCenuDruhu(){
      int cena = 0;
      
       if(druh == "ruze"){
        cena = cena + 30;
        } else if (druh == "cimisnik"){
            cena = cena + 25;
            }  else if (druh == "denivka"){
                cena = cena + 20;
                } else if (druh == "levandule"){
                    cena = cena + 15;
                    } else if (druh == "tulipan"){
                        cena = cena + 10;
                        } else { cout << "Tuto rostlinu bohuzel nemame."  << endl;
                                 }
         return cena;
      }

Rostlina.h

#ifndef __Rostlina_h_
#define __Rostlina_h_
#include <iostream> 
#include <fstream>
#include <string>
#include <vector>
using namespace std;

class Rostlina
{
private:

  string druh;
  string barvaKvetu;
  int vyska;
  
public: 

    Rostlina(string infoRostlina);
    string vypisDruh();
    string vypisBarvuKvetu();
    int vypisVysku();
    int vypisCenu();
    int vypisCenuDruhu();
  
    
    

};

#endif // __Rostlina_h_

Zahon.cpp

#include "Zahon.h"
#include <iostream> 
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;


Zahon::Zahon(string fin){

    ifstream rostlinaSoubor(fin.c_str());
    string radek;
    while(!rostlinaSoubor.eof()){
        
        getline(rostlinaSoubor, radek);
        
        Rostlina rostlina(radek);
        rostliny.push_back(rostlina);
    }
    rostlinaSoubor.close();
}

Zahon.h

#ifndef __Zahon_h_
#define __Zahon_h_
#include "Rostlina.h"
#include <iostream> 
#include <fstream>
#include <string>
#include <vector>
using namespace std;

class Zahon
{
public:
    Zahon(string fin);
    vypisRostliny();
    vector<Rostlina> rostliny;
    
};

#endif // __Zahon_h_
C / C++ › Kontrola kódu OOP C++
26. 12. 2017   #219093

#2 Jerry
Ahoj Jerry,

předpokládám, že si dotyčný cenu určí na základě vlastní analýzy :-)

C / C++ › Kontrola kódu OOP C++
26. 12. 2017   #219089

Zdravím, 

jako začátečník hledám někoho, kdo by byl ochotný projet můj kód a pokusil by se vyhledat případné chyby (překladač mi žádné nehlásí, nicméně program nefunguje jak by měl). Jedná se o krátký a intuitivní kód, který zašlu e-mailem.

Java › Porozumění části kódu
16. 1. 2017   #214541

Děkuji

Java › Porozumění části kódu
13. 1. 2017   #214493

 Zdravím, obracím se na Vás s prosbou o vysvětlení níže přiložené části kódu. Jedná se o testování podmínky pro sedlový bod matice, ale bohužel se v tom ztrácím. Byl by někdo ochotný mi vysvětlit, co se v jednotlivých for cyklech děje ?

for(int i=0;i<x;i++)
        {  
            for(int j=0;j<y;j++)
            {
                max=min=matice[i][j];
                   for(int k=0;k<x;k++)
                    {
                    if(max<matice[k][j])
                    {
                    min=matice[k][j];
                    }
                   }
                   for(int l=0;l<y;l++)
                   {
                    if(min>matice[i][l])
                    {
                    max=matice[i][l];
                    }
                   }
                if(max==min)
                { 
                 System.out.println (+max+" na pozici ("+(i+1)+" , "+(j+1)+")");
                }
Josef Hrdina
Java › Výčet platidel
30. 12. 2016   #214298

#3 Josef Hrdina
Zde je výsledný program. 

import sugar.Sys;
import java.io.*;
import java.util.ArrayList;
import java.util.List;


public class VycetkaPlatidel {

    static int plat;
    public static ArrayList<Integer> pole = new ArrayList<Integer>();
    static int pocetBankovek(int hodnotaBankovky) {
        int pocet;
        pocet = plat / hodnotaBankovky;
        plat = plat % hodnotaBankovky;
        return pocet;
    }
    public void nacteni(){
    
    
    }
    public static void main(String[] args) throws IOException {
        try {
            FileInputStream fis = new FileInputStream("vstup.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
            String strLine;
            
            while ((strLine = br.readLine()) != null) {
                String[] s = strLine.split("\t");
                for (int i = 0; i < s.length; i++) {
                    pole.add(Integer.parseInt(s[i]));
                }
            }
        
        }
        catch(Exception e) {
            System.out.println("Nastala chyba:");
            System.out.println(e);
        }
        int platX;
        int[] vysledek = new int[12];
        Sys.pln("Zadejte částku: ");
        plat = Sys.readInt();
        platX = plat;
        for (int i = 0; i < pole.size(); i++) {
            vysledek[i] = pocetBankovek(pole.get(i));
        }
        BufferedWriter bw = new BufferedWriter(new FileWriter("vystup.txt"));
        bw.write("Vyčtení částky " + platX + " je následující : " + vysledek[0] + "x5000" + " , " + vysledek[1] + "x2000" + " , " + vysledek[2] + "x1000");
        bw.newLine();
        bw.write(vysledek[3] + "x500" + " , " + vysledek[4] + "x200" + " , " + vysledek[5] + "x100");
        bw.newLine();
        bw.write(vysledek[6] + "x50" + " , " + vysledek[7] + "x20" + " , " + vysledek[8] + "x10");
        bw.newLine();
        bw.write(vysledek[9] + "x5" + " , " + vysledek[10] + "x2" + " , " + vysledek[11] + "x1");
        bw.newLine();
        bw.flush();
     
        
        
    }

}
Josef Hrdina
Java › Výčet platidel
30. 12. 2016   #214290

#2 lukas.balaz
Děkuju moc. Pokusím se to přepsat.

Josef Hrdina
Java › Výčet platidel
29. 12. 2016   #214282

Dobrý den ,programuji výčetku platidel ,ale když ji spustím tak píše : ArrayIndexOutOfBoundsException: 11

s Arrayem nemam skoro žádné vzkušenosti. 

Žádám o pomoc a předem děkuji. Zde přikládám zdroják:

import java.io.*;
import java.util.ArrayList;
import java.util.List;


public class VycetkaPlatidel {

    static int plat;

    static int pocetBankovek(int hodnotaBankovky) {
        int pocet;
        pocet = plat / hodnotaBankovky;
        plat = plat % hodnotaBankovky;
        return pocet;
    }

    public static void main(String[] args) throws IOException {
        List<Integer> list = new ArrayList<Integer>();
        int platX;
        Sys.pln("Zadejte částku: ");
        plat = Sys.readInt();
        platX = plat;
        int[] pole = new int[11];
        BufferedReader br = new BufferedReader(new FileReader("vstup.txt"));
        String s = "";
        while ((s = br.readLine()) != null) {
            for (int i = 0; i < 12; i++) {
                list.add(Integer.parseInt(s));
            }
        }
        br.close();
        for (int i = 0; i < list.size(); i++) {
            pole[i] = pocetBankovek(list.get(i));
        }

        BufferedWriter bw = new BufferedWriter(new FileWriter("vystup.txt"));
        bw.write("Vyčtení částky " + platX + " je následující : " + pole[0] + "x5000" + " , " + pole[1] + "x2000" + " , " + pole[2] + "x1000");
        bw.newLine();
        bw.write(pole[3] + "x500" + " , " + pole[4] + "x200" + " , " + pole[5] + "x100");
        bw.newLine();
        bw.write(pole[6] + "x50" + " , " + pole[7] + "x20" + " , " + pole[8] + "x10");
        bw.newLine();
        bw.write(pole[9] + "x5" + " , " + pole[10] + "x2" + " , " + pole[11] + "x1");
        bw.newLine();
        bw.flush();
    }

}
Java › Dvourozměrné pole
11. 12. 2016   #214026

Super, běží to jak má. Mockrát děkuji.

Java › Dvourozměrné pole
10. 12. 2016   #214018

Díky za odpověď, omlouvám se za příliš stručný popis, tvá metoda pracuje s čísly přímo v programu. Já bych potřeboval ty čísla načíst z textového souboru, ve kterém mám uloženou nějakou matici, dejme tomu 3x3, a jednotlivé číslice jsou odděleny mezerou. V programu si chci vyvolat číslici, která je v tom textovém souboru uložená např. ve druhém řádku a třetím sloupci a dále s ní pracovat. Pročetl jsem již řadu fór a ukázkových kódů, ale na řešení jsem zatím nepřišel.

Java › Dvourozměrné pole
10. 12. 2016   #214012

Zdravím,

chtěl bych požádat o tip jakou metodou si načíst čísla ze souboru a uložit je do dvourozměrného pole, kde každé z čísel bude mít 2 indexy (první [0][0] atd.). Předem děkuji

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý