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

Anonymní profil Petr – Programujte.comAnonymní profil Petr – Programujte.com

 

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

Petr
C / C++ › Arduino, Multilexer na Výsle…
18. 1. 2018   #219377

#1 chriscze

A musíš to dělat pomocí multiplexeru? Proč nevyužiješ jiný způsob ovládání sedmisegmentovky? Inspirace např. zde

https://arduino.cz/ovladanie-nielen-7-mi-segmentoveho-displeja-pomocou-74hc595/

Co je jako vstup co se má zobrazovat?


Petr
C / C++ › C programovanie , polia
7. 6. 2016   #211229

#3 WhatsThiSs
To je pořád dokola. Dej sem kód, alespoň nefunkční a zkusíme ti poradit, co tam máš špatně

Petr
C / C++ › pomoc so zadanim
25. 5. 2016   #210925

1D

void nasobky_interval(int a, int b, int x)
{
    for(int i=1;(x*i)<=b;i++)
        if ((x*i)<a)
            continue;
        else
            cout<<x*i<<" ";
}
Petr
C / C++ › pomoc so zadanim
25. 5. 2016   #210924

Tak dobře :-)

1C

void nasobky(int n, int x)
{
    for(int i=1;(x*i)<=n;i++)
        cout<<x*i<<" ";
}
Petr
C / C++ › pomoc so zadanim
25. 5. 2016   #210921

1B

void parne(int n)
{
    for(int i=2;i<=n;i=i+2)
        cout<<i<<" ";
}

Když uděláš 1C a 1D tak ti třeba zase pomůžu

Petr
C / C++ › pomoc so zadanim
25. 5. 2016   #210920

Dobře, tak tě nakopnu, úloha 1A

void vypis(int n)
{
    for(int i=1;i<=n;i++)
        cout<<i<<" ";
}
Petr
C / C++ › upravenie hry v C++
17. 12. 2015   #207391

#2 KOKOT

Klidně, ale ty neuděláš zápočet       

Petr
C / C++ › Vypsání 2-rozměrnýho pole,za…
24. 9. 2015   #205114

#6 xxxx
Chybu to píše jen u 

 std::cout << end;

Nevím, co jsi tím chtěl dosáhnout, pokud vypsat do konzole end tak s uvozovkama

 std::cout << "end";

pokud nový řádek tak endl ale end není členem std

HellMaster
MySQL › Navrh DB ve 3NF - slozeny klic
26. 2. 2015   #199611

Petre super, diky moc za cenne informace! Dneska neco zkusim spachtit, budu si s tim hrat a pripadny vysledek hodim sem. Ani nevim, jak se vytvati nejaky interface, aby potom dotycni mohli v DB vyhledavat apod.

Predpokladam, ze to se naprogramuje v te databazi a v klientovi pro MySQL je uz potom videt, co dotycny s danou databazi muze delat, jak filtrovat apod. Tak snad nebudu zklamany. :-D

HellMaster
MySQL › Navrh DB ve 3NF - slozeny klic
26. 2. 2015   #199608

#9 peter
Ja prave autoincrement asi nechci pouzit, protoze mam to unikatni cislo ID_HOUSING. Nebo vadi MySQL, ze to unikatni cislo neni od 1 - x? Coz je muj pripad, kdy mam polozky s unikatnim cislem, ale cisla jsou cca sedmimistne a podle me nejdou ani za sebou.

HellMaster
MySQL › Navrh DB ve 3NF - slozeny klic
26. 2. 2015   #199607

#8 P
Muzes trosku vysvetlit, jak myslis to rozlozeni pinu? Mas pravdu, ze jsou dva housingy, kde kazdy ma po deviti pinech, ale tim to konci.Do kazdeho muze jit jina sada terminalu. Krom toho ja potrebuji presne vedet, do ktere dutiny/pinu jde ktery terminal a to potrebuju vedet pro kazdy pin kazdeho housingu.

Kdyztak muzes slovne popsat ty vazby tabulek? Nejak jsem se ztratil v tech klicich apod...

HellMaster
MySQL › Navrh DB ve 3NF - slozeny klic
26. 2. 2015   #199597

Ahoj Petre,

musim ocenit tvoji pomoc, dekuju! Ta DB neni dobre, ale jako nastrel je to rozhodne skvele. :-)

Priklad z praxe:
Konektor_MOLEX_10_pin

Toto je jeden z konektoru, ktery ma 10 dutin/pinu. Jeden z vhodnych pinu muze byt tento:
Terminal_A nebo tento
Terminal_B

Z obrazku je videt, ze vsechny piny nebo lepe receno dutiny jsou stejne. Cili vim, ze pro pin 1 - 10 lze vzdy pouzit Terminal_A nebo Terminal_B.

Jsou ale konektory, ktere muzou mit ruzne dutiny. Viz obrazek. Tam nastava problem s tim, ze pro dutinu 1 - 2 a 9 - 10 lze pouzit zminene terminaly, ale pro dutiny 3 - 8 musim pouzit jiny terminal, napr. Terminal_C.

Kazdy konektor ma sve unikatni ciselne ID. Stejne tak kazdy terminal ma sve unikatni ID.

Jelikoz ja potrebuju vedet, pro jaky pin/dutinu, lze pouzit jaky terminal, musim mit nekde tabulku rozvrzeni pinu s pridelenim terminalu - vlastne namapovani pinu konektoru na terminaly.

Proto jsem uvazoval o necem jako:

Tab Konektor:
ID_Kon, Nazev, Pocet pinu, Druhy Dutin
105, "Frantisek", 10, 1
106, "Frantisek", 8, 2

Tab Terminal:
ID_Terminal, Vyrobce, Povrchova uprava
35, Jana, Stribro
36, Petr, Bez_upravy
37, Ondra, Zlato

Tab Kompatibilni_Terminal (Propojuje konektor s terminaly):
ID_Kon, Pin, ID_Terminal
105, 1, 35
105, 1, 37
105, 2, 35
105, 2, 37

105, 3, 35
.
.
105, 10, 35
105, 10, 37
106, 1, 36
106, 2, 36
106, 3, 37 ..... 106, 6, 37
106, 7, 36
106, 8, 36

Jelikoz tech terminalu, ktere lze pouzit pro jednu dutinu je hodne, tak me napadlo udelat dalsi tabulku Terminal_Group:
ID_Term_Group, ID_Term
1, 35
1, 37
2, 36

A misto abych vypisoval ke kazdemu pinu vsechny terminaly, tak bych uvedl skupinu terminalu, kterou lze pouzit, cimz bych zmensil pocet polozek v tabulce kompatibilni terminal. Vcera jsem neco podobneho zkousel v MySQL, ale nejak se mi to nepodarilo, tak zkusim dneska, jestli zbyde cas. Problem byl v klicich, nebyl jsem schopen propojit tabulku Konektor a Kompatibilni_Terminal, ale to bylo asi tim, ze v tabulce kompatibilni_terminal jsem mel polozky nastavene jako primarni klic. Jelikoz je to vazebni tabulka, tak tam se klic asi nenastavuje, ze? Az dojdu dom, muzu poslat obrazek, co jsem splodil. :-)

HellMaster
MySQL › Navrh DB ve 3NF - slozeny klic
24. 2. 2015   #199549

Ahoj lidi,

Potreboval bych trochu nakopnout s navrhem tabulek v DB, aby to odpovidalo 3 NF.

Chceme vytvorit databaz konektoru.
Konektor se sklada z tzv. plastoveho housingu, ktery ma obecne 1...N dutin (der) a kazda dutina muze byt obecne kompatibilni s 1...N terminaly.

Dutiny u jednoho konektoru se muzou lisit (prakticky by ale nemelo byt vic nez 4 ruzne dutiny)
Da se rict, ze kazdy "typ" dutiny je kompatibilni s nejakou sadou terminalu, obecne 1...N.
V jedne sade muze byt 1...N terminalu.
 
Cilem databaze je, aby bylo mozne vyhledat i vztah, dutina konektoru XYZ je kompatibilni s terminaly A, B, C pripadne s terminaly ze sady X.
 
Priklad:
Najdi vsechny kompatibilni terminaly pro pin1/dutiny1 konektoru XYZ.
 
nebo
 
Najdi vsechny konektory pouizivajici terminaly XYZ.
 
Navrh relaci prikladam v odkazu:
https://plus.google.com/photos/112121770498997352799/albums/6119356842940029329

Mam trosku problem s tabulkou PIN_LAYOUT a jejim klicem. Nemuz v tom byt nejaky skryty zadrhel, ktery by nesplnoval 3NF? Pripadne je tento navrh efektivni? Nenapada me, jak jinak rozlozit tabulky a navrhnout relace.

Dalsi vec co mi vrta hlavou je rozdeleni terminalu na sety. Sety ciste teoreticky nemusim pouzit, ale potom by vse bylo v PIN_LAYOUT tabulce.

Duvod, proc toto resim je, ze se na DB bude pripojovat aplikace, ktera bude vycitat data z DB. Pokud bude DB velmi spatne navrzena, tak se to promitne dal a bude to znamenat spoustu prace navic.

Diky za pripadne odpovedi a pomoc!

oplis
Matematika › Slovní úloha pro základní šk…
27. 10. 2014   #195256

#1 Simona
No já bych řekl, že přelévá 5x

1. z 24l do 13l

2. z 13l do 5l = ve 13l zůstane 8l

3. zbytek sleje do 24l

4. z 24l do 13l

5. z 13l do 5l, zůstane 8l

a zbytek je posledních 8l

Petr
C / C++ › hledání umístění prvku v poli
12. 2. 2014   #187374

#5 Laura a Naty
úplně stejně, jenom trošku změnit cyklus for a při nalezení znaku je možno ukončit a nepokračovat

Petr
C / C++ › hledání umístění prvku v poli
12. 2. 2014   #187372

#3 hlucheucho
To už si tazatel jistě upraví sám...ať se taky namáhá :-)

Petr
C / C++ › hledání umístění prvku v poli
12. 2. 2014   #187370

#1 Laura a Naty
Třeba takto

#include <iostream>

int hledej(char *zdroj, char znak);

using namespace std;

int main()
{
    char *retezec="V tomto retezci se bude hledat";
    char znak='e';
    int pozice;
    pozice=hledej(retezec,znak);
    if(pozice>0)
        cout<<"Posledni pozice hledaneho znaku je "<<pozice;
    else
        cout<<"Znak nenalezen";
}

int hledej(char *zdroj, char znak)
{
    int delka=strlen(zdroj);
    int pozice=-1;
    for(int i=0;i<strlen(zdroj);i++)
    {
        if(zdroj[i]==znak)
            pozice=i+1;
    }
    return pozice;
}

Petr
C / C++ › funkce strSpn
12. 2. 2014   #187366

#1 Skankys23
A jak zní dotaz? S čím konkrétně si nevíš rady?

Petr
C / C++ › Program pro výpočet plochy,…
7. 1. 2014   #186064

#3 lukas450
Začni takto

#include <iostream>

using namespace std;

int main() {
     return 0;
}

Kostru programu máš, tak teď tam jen vše dopsat

Petr
C / C++ › Semafor - cyklus
18. 12. 2013   #185426

#1 zajaja
nějak takto?

#include <iostream>
#define stav1 "H:cervena \t V:zelena \t CH:zelena"
#define stav2 "H:cervena,oranzova \t V:cervena \t CH:cervena"
#define stav3 "H:zelena \t V:cervena \t CH:cervena"
#define stav4 "H:oranzova \t V:cervena,oranzova \t CH:cervena"

using namespace std;

int main()
{
while(1)
{
    cout<<stav1<<endl;
    Sleep(1000);
    cout<<stav2<<endl;
    Sleep(1000);
    cout<<stav3<<endl;
    Sleep(1000);
    cout<<stav4<<endl;
    Sleep(1000);
}
return 0;
}
Petr
C / C++ › Pointery v C
5. 12. 2013   #184802

   

	int *pz;  //vytvoříš ukazatel na int - zatím nikam neukazuje
   	int z;	  //vytvoříš celočíselnou proměnnou z
   	pz = &z;  //ukazatel nastavíš na adresu proměné z &z-získání adresy
   	*pz = 1;  //proměnnou na kterou ukazuje pz (tj.z) nastavíš na 1
  	printf("%p\n", pz); //vypíše adresu kam ukazuje pz
   	printf("%d", *pz);  //vypíše, co je na té adrese
      

To znamená pokud ukazatel nikam nenastavíš a potom s ním pracuješ, pracuješ s náhodně přidělenou pamětí, což je problém, protože můžeš něco jiného přepisovat

#1 chef06

Petr
C / C++ › Nelze kompilace pomocí příka…
21. 11. 2013   #184180

#4 Petr
Někam se ztratil ten kód

#include <stdio.h>

int fce1();

int main()
{
    int a;
    a=fce1();
    printf("%d",a);
}

int fce1()
{
    int a, b;
    scanf("%d %d", &a, &b);
    return(a + b);
}
Petr
C / C++ › Nelze kompilace pomocí příka…
21. 11. 2013   #184179

#3 ondra
Hlavně....ten kód máš špatně...asi to nebude dělat to co myslíš. Funkci musíš deklarovat a pak volat ve funkci main...to je hlavní funkce, která se při spuštění provádí

Petr
C / C++ › Součet binárních čísel
8. 11. 2013   #183520
Petr
C / C++ › Soucet cisel v binarni soust…
5. 11. 2013   #183290

#23 pazdy
Ve funkci kontrola můžeš vynechat test cin.good....jednoduše, pokud je v bufferu znak nového řádku, načetlo se všechno OK, pokud je tam jiný znak, tak se vstup nenačetl správně.....bylo zadáno např. 111b1....tzn. v bufferu zůstane b1

Petr
C / C++ › Soucet cisel v binarni soust…
5. 11. 2013   #183287

#21 pazdy
Toto

#include <iostream>

using namespace std;

void kontrola(int a)
{
    if ( !cin.good() ||cin.get()!='\n' )
     {
        cout<<"Nespravny vstup."<<endl;
        exit(1);
     }
     while(a)
     {
        if(a%10!=0 && a%10!=1)
        {
            cout<<"Nespravny vstup";
            exit(1);
        }
        a/=10;
      }

}

int main()
{
    long int a, b;
     int i = 0, zbytek = 0, sum[20];

     cout <<"Zadejte dve binarni cisla: "<<endl;
     cin>>a;
     kontrola(a);
     cin>>b;
     kontrola(b);

     while ((a != 0) || (b != 0))
     {
           sum[i++] = ((a % 10) + (b % 10) + zbytek) % 2;
           zbytek = ((a % 10) + (b % 10) + zbytek) / 2;
           a = a/10;
           b = b/10;
     }

     if (zbytek != 0) sum[i++] = zbytek;
     --i;

 cout<<"Soucet: ";
    while (i >= 0)
     {
         cout<<sum[i--];
     }


     return 0;
}


funguje

Petr
C / C++ › Soucet cisel v binarni soust…
5. 11. 2013   #183285

#19 DB

I to se dá vyřešit, např. takto

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    long int a, b;
     int i = 0, zbytek = 0, sum[20];

     cout <<"Zadejte dve binarni cisla: "<<endl;
     cin>>a;
     if ( !cin.good() ||cin.get()!='\n' )
     {
        cout<<"Nespravny vstup."<<endl;
        return 0;
     }

     cin>>b;
     if ( !cin.good() ||cin.get()!='\n' )
     {
        cout<<"Nespravny vstup."<<endl;
        return 0;
     }



     while ((a != 0) || (b != 0))
     {
           if((a%10!=0 && a%10!=1) || (b%10!=0 && b%10!=1)) //kontrola
            {
                cout<<"Spatny vstup";
                exit(1);
            }

           sum[i++] = ((a % 10) + (b % 10) + zbytek) % 2;
           zbytek = ((a % 10) + (b % 10) + zbytek) / 2;
           a = a/10;
           b = b/10;
     }

     if (zbytek != 0) sum[i++] = zbytek;
     --i;

 cout<<"Soucet: ";
    while (i >= 0)
     {
         cout<<sum[i--];
     }


     return 0;
}


Petr
C / C++ › Soucet cisel v binarni soust…
5. 11. 2013   #183281

#13 Petr
Jsi tam tu kontrolu neměl, zkus to tak jak jsem doplnil, mělo by to fungovat

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    long int a, b;
     int i = 0, zbytek = 0, sum[20];

     cout <<"Zadejte dve binarni cisla: "<<endl;
     cin >> a;
     cin >> b;

      if ( !cin.good() )
    {
        cout<<"Nespravny vstup."<<endl;
        return 0;
    }


     while ((a != 0) || (b != 0))
     {
           if((a%10!=0 && a%10!=1) || (b%10!=0 && b%10!=1)) //kontrola
            {
                cout<<"Spatny vstup";
                exit(1);
            }

           sum[i++] = ((a % 10) + (b % 10) + zbytek) % 2;
           zbytek = ((a % 10) + (b % 10) + zbytek) / 2;
           a = a/10;
           b = b/10;
     }

     if (zbytek != 0) sum[i++] = zbytek;
     --i;

 cout<<"Soucet: ";
    while (i >= 0)
     {
         cout<<sum[i--];
     }


     return 0;
}


Petr
C / C++ › Soucet cisel v binarni soust…
5. 11. 2013   #183278

#15 pazdy
Dej sem celý kód

Petr
C / C++ › Soucet cisel v binarni soust…
5. 11. 2013   #183274

#11 pazdy
Pokud načítáš číslo jako int, tak nejlepší na ověření vstupu je rozklad na jednotlivé číslice a ty ověřovat...tj. kombinace dělení 10 a zbytek po dělení 10, něco jako

#include <iostream>

using namespace std;

int main()
{
    int a;
    cin>>a;
    while(a)
    {
        if(a%10!=0 && a%10!=1)
        {
            cout<<"Spatny vstup";
            exit(1);
        }
        a/=10;
    }
    cout<<"OK";
    return 0;
}

Petr
C / C++ › Generování náhodných čísel+B…
4. 10. 2013   #181954

#3 Laura92
Tvůj kód upravený

#include <iostream>

using namespace std;

int main ()
{
    int i,p[20],k,m;
    int array[25],pom;

    for (int i=0; i<20; i++)
    {
        zz:
        p[i]=rand()%25+1;                  //generovani nahodnych cisel
        m=p[i];                                    //zjistuje,zda se nevyskytuji stejna cisla
        k=i;
        for(k=0;k<i;k++)
        {
            if(m==p[k])
            {
                goto zz;
            }
        }
        cout<<"Cislo: "<<p[i]<<endl;
    }
    for (int i=0;i<20;i++)                   //bublinkove razeni
    {
        for (int j=0;j<20;j++)
        {
            if (p[j]<p[j+1])
            {
                pom=p[j];
                p[j]=p[j+1];
                p[j+1]=pom;
            }
        }
    }
    cout<<endl;
    cout<<"Serazena cisla: "<<endl;
    for (int i=0;i<20;i++)
    {
        cout<<p[i]<<endl;
    }
    system("pause");
    return 0;
}

 

 

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