Wątek przeniesiony 2015-01-09 15:53 z C/C++ przez ŁF.

Wyświetlenie komunikatu w petli tylko raz?

2015-01-05 23:56
0

Mam takie pytanie: czy da sie zrobic tak, ze w petli for ktora wykona sie nie wiadomo ile razy (decyduje o tym uzytkownik) wyswietlac komunikat tylko raz? Przykladowo:

 #include <iostream>

using namespace std;

int main()
{
    int a;
    cin >> a;

    for (int i=0; i<a; i++)
    {
        if(jakis warunek)
            cout << costam;
    }

    return 0;
}

I chodzi mi o to ze jesli powiedzmy w drugim przebiegu petli warunek zostanie spelniony to zeby w 4,5,6 przebiegu itd az do konca jesli znowu sie spelni to zeby ten cout nie zadzialal

Pozostało 580 znaków

2015-01-05 23:58
2
 #include <iostream>

using namespace std;

int main()
{
    int a;
    cin >> a;
   bool visible=true;
    for (int i=0; i<a; i++)
    {
        if(visible){
            cout << costam;
      visible=false;}

    }

    return 0;
} 
edytowany 1x, ostatnio: _borisov8, 2015-01-06 00:45
visible do środka ifa i będzie ok - gośćabc 2015-01-06 00:05
racja, to będzie wydajniejsze. - _borisov8 2015-01-06 00:08

Pozostało 580 znaków

2015-01-05 23:59
0

Dzieki wielkie ;D tak wlasnie przed chwila pomyslalem ze typ boolowski by tu pasowal

edytowany 1x, ostatnio: kicejoch, 2015-01-06 00:11
Nie tryb, tylko typ ;) - _borisov8 2015-01-06 00:00
faktycznie, poprawilem bo siara troche ;D - kicejoch 2015-01-06 00:11

Pozostało 580 znaków

2015-01-06 00:08
0

wiem, że to nieoptymalne rozwiązanie, ale ja bym dodał drugą zmienną boolean, która kontrolowała by czy napis był już wyświetlony

Pokaż pozostałe 4 komentarze
przecież moja odpowiedź jest pomocna i sensowna, o co Ci chodzi gośćabc? a komentarzy nie trzeba czytać. - Laflx 2015-01-06 00:13
No chyba nie jest sensowna, bo już ta pierwsza zmienna boolean robi to co proponujesz... - some_ONE 2015-01-06 00:15
Co wy macie do tego R :D ? - _borisov8 2015-01-06 00:26
to paczaj poniżej @some_ONE ... o to mi chodziło - Laflx 2015-01-06 00:39
No i @_borisov8 pokazał ideę takiego rozwiązania już wcześniej :P - some_ONE 2015-01-06 00:42

Pozostało 580 znaków

2015-01-06 00:12
0

A ja bym nie kombinował tylko dał tam break ;]


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
no tak ale break ubija wszystko co chcesz zawrzeć w pętli poza tym ifem, a chyba nie o to chodzi - gośćabc 2015-01-06 00:14
a co jeśli poza tym coutem co wypisuje jest jeszcze jakaś akcja w pętli ? - Laflx 2015-01-06 00:15
A jakby babcia miała wąsy to by była wojewodą. Pytanie było o podany kod :P - Shalom 2015-01-06 00:17
no polemizowałbym, można z jego pytania wyczytać i tę drugą wersję, PS fajną masz babcię :D - gośćabc 2015-01-06 00:19
To cytat -> Gdyby babcia miała wąsy, toby została wojewodą ;) - Shalom 2015-01-06 00:29

Pozostało 580 znaków

2015-01-06 00:20
0

Może tak:

#include <iostream>
using namespace std;

int main()
  {
   int a;
   cin>>a;
   for(int i=0;i<a;++i)
     {
      if(!i) cout<<"costam";
     }
   return 0;
  }

Wersja specjalnie dla ... którym trzeba wszystko rozrzuć:

#include <iostream>
using namespace std;

int main()
  {
   int a;
   cin>>a;
   for(int i=0,k=0;i<a;++i)
     {
      if((jakiś_warunek)&&(!(k++))) cout<<"costam";
     }
   return 0;
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon, 2015-01-06 00:56
Pokaż pozostałe 2 komentarze
wiem ale chodzi mi o tego ifa: if(!i) co robi ten wykrzyknij przy i ? jeśli nie i ? czyli jesli nulowe czy co pierun wie. - Laflx 2015-01-06 00:36
negacja, w tym przypadku takie uproszczenie i==0. - _borisov8 2015-01-06 00:47
if( !i ) rownoznaczne z if( i == 0), if( i ) rownoznaczne z if( i !=0 ). - lookacode1 2015-01-06 00:49
dziękuję, czyli wypisuje tylko przy pierwszej iteracji... ale tam autor pytania podał if(jakis warunek), czyli niekoniecznie w pirwszej iteracji się wyswietli komunikat - Laflx 2015-01-06 00:52
tak dlatego wlasnie niezbedna jest jakas flaga bool - lookacode1 2015-01-06 00:57

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0