Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Instrukcja while. Mały problem ;/

Ostatnio zmodyfikowano 2013-11-28 01:01
Autor Wiadomość
Qrek16
Temat założony przez niniejszego użytkownika
Instrukcja while. Mały problem ;/
» 2013-11-27 23:53:43
Mam problem z pętlą while nie wykonuje mi obrotów ;/
Ktoś pomoże. A o to część programu ma sumować liczby z podanego przedziału ...
C/C++
case 3:
{
    cout << " Podaj przedzial" << endl;
    cin >> a;
    cin >> b;
   
    if( b > a )
    { bb = b - a; }
    if( b < a )
    { bb = a - b; }
   
    do
    {
       
        x = a + x;
        a = a + 1;
        c = c + 1;
       
    } while( c == bb + 1 );
   
    cout << " Wynik jest taki : " << x << endl;
} break;

}
getch();
}
P-97717
ashaneen
» 2013-11-28 00:02:12
wklej caly kod i wrzuc go w odpowiednij tag [ code ] to bede uprzejmy Ci łopatologicznie pomóc.
P-97719
Qrek16
Temat założony przez niniejszego użytkownika
» 2013-11-28 00:06:14
C/C++
#include <iostream>
#include "math.h"
#include "conio.h."

using namespace std;

int main()
{
    cout << " Podaj przedzial" << endl;
    cin >> a;
    cin >> b;
   
    if( b > a )
    { bb = b - a; }
    if( b < a )
    { bb = a - b; }
   
    do
    {
       
        x = a + x;
        a = a + 1;
        c = c + 1;
       
    } while( c == bb + 1 );
   
    cout << " Wynik jest taki : " << x << endl;
    getch();
}
P-97720
ashaneen
» 2013-11-28 00:15:09
Zeby korzystac ze zmiennych ( Twoich a , b  i bb ) musisz je najpierw zadeklarowac z odpowiednim typem np ( np. int a,b,bb; )


---
 Masz duzo bledow w skladniach, proponuje o ile korzystasz z jakiegos IDE czytac logi z bledow ktore z pewnoscia Ci powiedza co wymaga poprawy ( o ile rozumiesz cokolwiek angielski ). Polecam CodeBlocks.
P-97721
Qrek16
Temat założony przez niniejszego użytkownika
» 2013-11-28 00:17:55
sorka zapomniałem wkleić cały kod ma  50 linijek a mi na tym zależało tylko, już poprawkę wklejam
C/C++
#include <iostream>
#include "math.h"
#include "conio.h."

using namespace std;

int main()
{
    int a, b, x, c, bb, g;
    cout << " Podaj przedzial" << endl;
    cin >> a;
    cin >> b;
   
    if( b > a )
    { bb = b - a; }
    if( b < a )
    { bb = a - b; }
   
    do
    {
       
        x = a + x;
        a = a + 1;
        c = c + 1;
       
    } while( c == bb + 1 );
   
    cout << " Wynik jest taki : " << x << endl;
    getch();
}
Problem leży w tym ze on wykonuje tylko jedną pętle bo sprawdzałem już , myślę że źle warunki ustaliłem ale próbuje od 2h i nie wiem co jest źle ;/
P-97722
ashaneen
» 2013-11-28 00:36:30
Ciezko mi powie w ogole co te Twoje warunki maja robic, strasznie moim zdaniem nakombinowales. Jesli chcesz zsumowac wszystkie liczby proponuje zrobic to w nastepujacy sposob:
robisz petle for w ktorej zaczynasz od zmiennej a konczysz na b, inkrementujac ja przez kazdy przebieg czyli cos ala for(z=a,z<=,z++) i w jednej zmiennej zapisujesz wynik do ktorego ciagle dodajesz z az petla sie skonczy.
P-97723
docentpp
» 2013-11-28 00:53:58
Czy ten warunek jest prawidłowo
sformułowany ?!?!

C/C++
while( c == bb + 1 )

Ta pętla jest błędna,wykonuje się jeden raz.

Inny błąd - nie nadajesz wartości początkowych zmiennym x,c.

P-97724
Qrek16
Temat założony przez niniejszego użytkownika
» 2013-11-28 01:01:52
Warunek nie wiem czy jest dobrze podany czy nie ;/ w tym tkwi szkopuł czy ja podaje dobry warunek ...powinno być ze gdy c będzie większe od bb to zakończ ale nawet tak próbowałem i nic ;/ Zmieniłem juz ten drugi błąd przypisałem do x == o i c == 0 przed pętlą.
P-97726
« 1 »
  Strona 1 z 1