Nowe posty

Autor Wątek: prosty programik  (Przeczytany 7210 razy)

recenzent

  • Gość
prosty programik
« dnia: 2005-05-22, 15:52:39 »
witam. czy może prubowaliście pracować zdalnie na maszynie z windowsem np XP czy w3k spod linuxa? znalazlme programik rdeskop, ale troche skąpo o nim jest informacji:(

xis

  • Gość
prosty programik
« Odpowiedź #1 dnia: 2005-05-22, 15:55:48 »
Myślę, że najpopularniejszym narzędziem do zdalnego pulpitu jest VNC (pod windows np. darmowy RealVNC, a pod linuksa osadzony w KDE klient krdc (serwer skonfigurujesz w Centrum sterowania->Internet i siec->Współdzielenie pulpitu).

arti040

  • Gość
prosty programik
« Odpowiedź #2 dnia: 2005-05-22, 13:49:33 »
Witam,
wczoraj rozpoczalem intensywna nauke C++ (Symfonia itd.). Juz na poczatku zaczalem kombinowac z zawartymi w niej przykladami i pojawil sie problem... :) Otoz, czy moze mi ktos wytlumaczyc dlaczego tak sie dzieje a nie inaczej -

Program, ktory przedstawiam po nizej mial w zalozeniu wyswietlac gwiazdki po 10 w kazdej linii. Jednak gdy wartosc zmiennej lines jest wieksza od 2, czyli ilosc gwiazdek do wyswietlenia >20 program wyswietla je w nieskonczonosc. Dlaczego?


#include
   
   main()
      {   
         
         int   ile, lines, i ;
         int re=10;
                  
         cout << "Ile narysować gwiazdek? ";
         cin >> ile;
         
         lines=ile/10;
            
         cout << "n";
         
         for(i=0;i         {
            do   // zawsze wyswietla 10 gwiazdek
            {
               cout << "*";
               re=re - 1;

            } while(re!=0);   
         }   

cout << "n";
cout << "________________________";
cout << "nWartosc zmiennej $ile: " << ile << endl << endl;
         
      }

xis

  • Gość
prosty programik
« Odpowiedź #3 dnia: 2005-05-22, 13:53:38 »
Nie ustawiasz zmiennej 're' z powrotem na 10, więc sprawdzenie czy jest ona różna od 0 jest prawdziwe, bo re jest ujemne. Proponuję w zewnętrznej pętli dodać:
re=10;

(dla każdej iterazji zewnętrznej pętli 're' musi być 10, bo tyle gwiazdek za każdym razem rysujesz).

jk33

  • Gość
prosty programik
« Odpowiedź #4 dnia: 2005-05-22, 14:17:44 »
Wydaje mi sie, ze latwiej
bedzie zamienic ta petle
do while na for

for(re=10; re>0; re++)


arti040

  • Gość
prosty programik
« Odpowiedź #5 dnia: 2005-05-22, 14:45:31 »
A moze byc tak (teraz dziala), czy jest jakis bradziej optymalny sposob?:

main()
      {   
         
         int   ile, lines, i ;
         int re;
                  
         cout << "Ile narysować gwiazdek? ";
         cin >> ile;
         
         lines=ile/10;
            
         cout << "n";
         
         for(i=0;i            {
               
            re=10;
            
            do   // zawsze wyswietla 10 gwiazdek
            {   
               cout << "*";
               re=re-1;
                        
            } while(re!=0);
            
            cout << "n";   
            }

chmooreck

  • Gość
prosty programik
« Odpowiedź #6 dnia: 2005-05-22, 14:55:45 »
najbardziej optymalny (pod wzgledem szybkosci) jest taki:

int main (int argv, char ** argc)
{
  cout << "**********n**********n"
    "**********n**********n**********n"
    "**********n**********n**********n"
    "**********n**********n";

  return 0;
}


:P

chmooreck

  • Gość
prosty programik
« Odpowiedź #7 dnia: 2005-05-22, 15:00:28 »
no dobra... just kidding :-)
dla leniwych:
for (int i=1; i<=ile; i++)
{
  cout << '*';
  if (! (i%10)) cout << 'n';
}

dla jeszcze bardziej leniwych:
for (int i=1; i<=ile; i++) cout << (!(i%10))?"*n":'*';


xis

  • Gość
prosty programik
« Odpowiedź #8 dnia: 2005-05-22, 15:48:03 »
Arti, zawsze jest bardziej optymalny sposób :)
Tu akurat nie ma reguł. 'Tuningowanie' programu rysującego gwiazdki może nie mieć końca ;)

Ale, skoro program zawsze ma rysować 10 gwiazdek w jednym poziomie, proponuję:

#define GWIAZDKI "**********n"

for( i=0; i    cout << GWIAZDKI;


arti040

  • Gość
prosty programik
« Odpowiedź #9 dnia: 2005-05-22, 19:32:31 »
Ok! Dziekuje wszystkim. Mam nadzieje, ze jak bede mial problemy w przyszlosci to tez moge na was liczyc ;)