• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

nieskończona pętla

VPS Starter Arubacloud
0 głosów
1,056 wizyt
pytanie zadane 3 listopada 2015 w C i C++ przez macik1423 Początkujący (480 p.)

Dzień dobry, zastanawiam się nad problemem pętli wykonującej się w nieskończoność:

pętla ma się powtarzać przy każdym podaniu liczb np.

while(cin>>a>>b>>c)

i coś się wykonuje na tych liczbach, jak się wykona to dalej trzeba podać znowu te trzy liczby i tak dalej. Jak to zrobić gdy liczby są wprowadzane do tablicy?

3 odpowiedzi

+2 głosów
odpowiedź 3 listopada 2015 przez Muminek Dyskutant (8,650 p.)

Jest kilka opcji pętli nieskocznonej.

while (true)
{
// tutaj operacje. Pobranie liczb wykonanie działania itp
// Skończą się operacje wszystko zacznie się od początku
}

for ( ; ; )
{
// analogicznie
}

do
{
// instrukcje

}while(true)

// Z tych pętli możesz wyskoczyć tj przerwać je poleceniem
break;

 

+1 głos
odpowiedź 3 listopada 2015 przez Radfler VIP (101,030 p.)
edycja 14 maja 2016 przez Radfler

Eee... nie wiem o co Ci chodzi, ale widzę to tak:

int array[3];
while(std::cin >> array[0] >> array[1] >> array[2]) {
  // Operacje
}

Ogólnie rzecz ujmując nie jest to pętla nieskończona, gdyż działa dopóki std::cin nie zasygnalizuje błędu :)

+1 głos
odpowiedź 3 listopada 2015 przez Michał628496 Pasjonat (17,340 p.)

Nie wiem czy o to ci chodzi ale możesz zrobić tak:

#include <iostream>
using namespace std;

int tablica[3];
int a,b,c;

a = tablica[0];
b = tablica[1];
c = tablica[2];

do
{


//operacja

if()//Operacja udana
{
break;
}
else //Operacja nieudana
{
cin>>a>>b>>c;
tablica[0] = a;
tablica[1]=b;
tablica[2]=c;
}


}while(true);

 

komentarz 3 listopada 2015 przez Muminek Dyskutant (8,650 p.)

Możesz mi wyjaśnić po co tak kombinujesz ze zmiennymi abc i tablicą?

Linia:

7-8-9: zmiennym a,b,c przypisujesz wartość elementów tablicy (gdzie i tak mogą znajdować się pamięciowe śmieci)

23: pobierasz zmienne a,b,c (po co wczensiej przypiswales im wartosci?

24-26 przypisujesz elementom tablicy odpowiedni wartosci, no w porządku ale i tak bez sensu.

Usunąc linie 5-9, a w lini 23 cin >> tablica[0] >> tablica [1] >> tablica [3]; mało tego nawet to nie jest optymalne bo tablice aż się proszą o pętle. Czyli w gruncie rzeczy powinno to wyglądać tak: for (int i = 0 ; i < 3 ; i++) cin >> tablica[i];

Strasznie, niepotrzebnie nakomibnowałeś.

Jak już masz zdefinowaną tablice, to pracuj na jej elementach.

komentarz 3 listopada 2015 przez Michał628496 Pasjonat (17,340 p.)
Wiem że tak można zrobić . Nie wiem czemu tak napisałem , po prostu tak jakoś.

Podobne pytania

0 głosów
1 odpowiedź 582 wizyt
pytanie zadane 25 marca 2020 w C i C++ przez Ola_00 Nowicjusz (210 p.)
0 głosów
1 odpowiedź 479 wizyt
pytanie zadane 25 grudnia 2016 w C# przez matilogias Obywatel (1,550 p.)
0 głosów
2 odpowiedzi 1,443 wizyt
pytanie zadane 18 kwietnia 2015 w PHP przez makoso Mądrala (7,380 p.)

93,027 zapytań

141,990 odpowiedzi

321,294 komentarzy

62,374 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...