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

Zadanie [łatwe] for

Ostatnio zmodyfikowano 2012-04-04 17:21
Autor Wiadomość
Kameleon
Temat założony przez niniejszego użytkownika
Zadanie [łatwe] for
» 2012-04-04 12:02:29
Zadanie objaśnię tak :
-Nowak wpłaca na lokatę zawsze na początku 100zł
-Nowak wybiera sobie na ile miesięcy ma tą lokatę
-co miesiąc dopłaca o 10zł więcej od poprzedniej wpłaty
np.
-Nowak wybrał lokatę na 4 miesiące
-Wpłacił 100zł, 110zł, 120zł, 130zł
-W sumie wpłacił 460zł

U mnie wygląda to tak( nie wiem co poprawić ?? ) :

C/C++
#include<iostream>
#include<cstdio>

using namespace std;


int main()
{
    int miesiace;
    int a = 100;
    int b = 10;
    int c;
    int d;
    int x;
   
    cin >> miesiace;
   
   
    for( int i = 0; i < miesiace; i++ )
    {
        x = i * 100;
        c = a + b + x;
        b = b + 10;
       
    }
   
    cout << c;
   
   
   
   
   
    cin.ignore();
    getchar();
    return 0;
}
P-53820
jsc
» 2012-04-04 12:04:10
A co nawala?
P-53821
Kameleon
Temat założony przez niniejszego użytkownika
» 2012-04-04 12:24:50
No tak jakby źle mi liczy, gdzieś jest błąd jednak nie wiem jak go rozwiązać.
Czemu się pytasz, nie możesz go odpalić i sprawdzić ... ? :P
P-53822
jsc
» 2012-04-04 13:49:26
Problem wynika z inicjacji b na 10, a powinno być na 0.

PS.
Jak chcesz się nauczyć porządnie programować to się przyjrzyj temu kodowi i zastanów nad tym czy się różni od twojego:
C/C++
#include<iostream>
#include<cstdio>

using namespace std;


int main()
{
    int miesiace;
    const int WPLATAPODSTAWOWA = 100;
    const int PROGRESS = 10;
   
    int biezacaWplata = WPLATAPODSTAWOWA;
    int sumaLokaty = 0;
   
    cin >> miesiace;
   
    for( int i = 0; i < miesiace; i++ )
    {
        sumaLokaty += biezacaWplata;
        biezacaWplata += PROGRESS;
    }
   
    cout << sumaLokaty;
   
    cin.ignore();
    getchar();
    return 0;
}
P-53823
ison
» 2012-04-04 16:32:37
@jsc
"Jak chcesz się nauczyć porządnie programować to się przyjrzyj temu kodowi i zastanów nad tym czy się różni od twojego:"
C/C++
#include <cstdio>

int main()
{
    const int startingValue = 100;
    const int valueIncrease = 10;
    int months = 0;
    scanf( "%d", & months );
    printf( "%d\n", valueIncrease *( months - 1 ) * months / 2 + startingValue * months );
}
P-53830
jsc
» 2012-04-04 17:05:20
@ison
Masz rację zmienił bym tylko jedną linijkę:
C/C++
int months = 0;
//na int months;
P-53831
ison
» 2012-04-04 17:21:29
nie robi, chodziło tylko o to żeby wartość była jakoś zainicjalizowana jeśli scanf się nie powiedzie
P-53832
« 1 »
  Strona 1 z 1