Wypisanie ostatnich trzech cyfr liczby.

0

Witam

Ten program oblicza wszystkie kolejne cyfry podanej liczby.

#include <iostream>
#include <conio.h>

using namespace std;

string wyraz;
int tablica[9];

int main()
{
    cout<<"Podaj wyraz"<<endl;
    cin>>wyraz;

    for(int i=0; i<wyraz.size(); i++)
    {
        tablica[i] = wyraz[i]-48;
    }

    return 0;
}

Ktoś wie co teraz wpisać wpisać w cout żeby wyświetliły mi się np. 3 ostatnie cyfry tej liczby zapisanej do tablicy? Próbowałem wstawić w for linijke

 cout<<"3 ostatnie cyfry liczby "<<wyraz<<" to "<<tablica[i]<<endl; 

ale to pokazuje wszystkie cyfry tej liczby i w dodatku w pętli, a ja bym chciał wyświetlić 3 ostatnie cyfry tylko raz. Jak wstawiam tę linijkę poza forem to jest błąd.

0

https://ideone.com/EG7SPc
Niemniej jednak to co ty tam kombinujesz to kiepski pomysł, srsly.

2

najprościej (mało uniwersalnie) to:

 cout<<"3 ostatnie cyfry liczby "<<wyraz<<" to "<<tablica[wyraz.size() - 3]<<tablica[wyraz.size() - 2]<<tablica[wyraz.size() - 1]<<endl; 

Oczywiście pod warunkiem, że są co najmniej 3 elementy, dodatkowo, że w danej wyraz są tylko cyfry

0
cout << string(end(strnum)-3, end(strnum)) << endl;
0

Co najmniej dwie opcje:

  1. W istniejącej pętli dodaj warunek czy i jest w jednej z 3 ostatnich iteracji, jeśli tak, to wyświetl tablica[i].
  2. Stwórz nową pętlę for(i=wyraz.size()-3;i<wyraz.size();i++) i tutaj wyswietlasz tablica[i].
2
#include <iostream>
#include <cmath>
using namespace std;

int main(){
	const int digits = 3;
	int number;
	cin >> number;
	auto str = to_string(number);
	cout << string(end(str)-digits, end(str)) << endl;
	cout << abs(number)%(int)pow(10, digits) << endl;
	return 0;
}

in: -1337
out:

337
337
0

Powinieneś inicjalizować zmienne.
Sprawdziłem i int i chyba zostanie zainicjowane na zero, ale nie powinno sie tak robić.

2
for(int i; i<n; i++, n--)
  1. Jaką wartość ma i w pierwszym obiegu pętli?
  2. Po każdym przejściu różnica między i a n się zmniejsza o 2, więc to nie wyświetla n cyfr, tylko n/2 cyfr.

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