wartości reszt z dzielenia dla kolejnych wyrazów ciągu

Pytania o rozwiązania zadań.
Otrzymałeś(aś) rozwiązanie do zamieszczonego zadania? - podziękuj autorowi rozwiązania! Kliknij
anilahcim
Rozkręcam się
Rozkręcam się
Posty: 31
Rejestracja: 07 paź 2012, 18:02
Podziękowania: 12 razy
Płeć:

wartości reszt z dzielenia dla kolejnych wyrazów ciągu

Post autor: anilahcim »

Napisz program (przy użyciu pętli), który wyświetli prosty tekstowy wykres ilustrujący wartości reszt z dzielenia przez m (podana liczba) dla kolejnych wyrazów danego ciągu liczb całkowitych. Wczytaj następujące dane od użytkownika:

liczbę określającą numer wyrazu ciągu, od którego ma być rysowany wykres,
liczbę określającą numer wyrazu ciągu, do którego ma być rysowany wykres,
wartość m.
Ciąg określony jest następująco:
an=an−2−an−1,
gdzie dwa pierwsze wyrazy ciągu wynoszą a0=2 i a1=1.

Na wykres składają się kolejne wiersze tekstu, które powinny rozpoczynać się od znaku pionowej kreski (|), a następnie zawierać tyle kropek, ile wynosi reszta z dzielenia przez m kolejnego wyrazu ciągu (począwszy od wyrazu na podanej pozycji) Dodatkowo, na koniec program powinien wypisywać łączną liczbę narysowanych kropek.


Zrobiłam tak:

Kod: Zaznacz cały

#include <iostream>
using namespace std;

int main()
{
	int x, y, m;

	cout << "Podaj numer pierwszego rysowanego wyrazu ciagu: " << endl;
	cin >> x;
	cout << "Podaj numer ostatniego rysowanego wyrazu ciagu: " << endl;
	cin >> y;
	cout << "Chcesz otrzymac reszte z dzielenia przez: " << endl;
	cin >> m;

	int n=2, a, a0=2, a1=1;
	while (n<=x) {
		n++;
		a=a0-a1;
		a0=a1;
		a1=a;
	}

	int z=0, k;
	while (x<=y) {
		x++;
		k=a%m;
		a=a0-a1;
		a0=a1;
		a1=a;
		cout << "| ";
		while (z<=k) {
			z++;
			cout << ". ";
		}

	}

	system("pause");
	return 0;
}

Będę wdzięczna za pomoc, jeśli komuś chciałoby się to sprawdzić i powiedzieć mi, co jest źle (bo program źle rysuje wykres).
ODPOWIEDZ