Funkcje,tablice,ciagi-zadanie C++

0

Cześć-chciałbym prosić o pomoc,ewentualnie nakierowanie na właściwy tor przy pisaniu programu na ćwiczenia z programowania.Muszę napisać program który w ciągu liczb całkowitych dodatnich dwucyfrowych sprawdzi czy suma wartości elementów ciągu utworzonego z cyfr dziesiątek kolejnych elementów jest większa niż średnia arytmetyczna cyfr w ciągu,dane wprowadzamy albo podając zakres albo wprowadzamy elementy ręcznie.Przykładowe rozwiązanie podobnego zadania(inne warunki) dostaliśmy na koniec zajęć.Generalnie mam w głowie koncepcje jak to wszystko ma wyglądać ale nie potrafię przekuć tego do postaci kodu.Będę wdzięczny za wszelkie wskazówki.

 
#include <iostream>
#include <ctime>
#incude <cstdlib>
using namespace std;

void wpisywanie(int tablica[], int rozmiar) {
	for (int i = 0; i < rozmiar; i++) {
		cout << "Wprowadz wartosc " << i << "/" << rozmiar - 1 << " elementu: ";
		cin >> tablica[i];
	}
}	

void wypisywanie(int tablica[], int rozmiar) {
	cout << "Twoj ciag to: ";

	for (int i = 0; i < rozmiar; i++) {
		cout << tablica[i] << " ";
	}
}

void zakres(int &min, int &max) {
	cout << "Jaki ma być zakres losowanych liczb?\n";
	cin >> min >> max;
}

void gen_ciagu(int tablica[], int rozmiar) {
	int min, max;
	zakres(min, max);
	srand(time(0));
	for (int i = 0; i < rozmiar; i++)
		tablica[i] = min + (rand()%(max - min));
}

int sprawdzanie(int tablica[], int rozmiar) {
	int tmp=0;
	for (int i = 0; i < rozmiar; i++) {
		if (tablica[i] % 10 >(tablica[i] / 10) % 10)
			tmp++;
	}

	return tmp;
}

int main() {
	int n,z,tmp;
	
	cout << "Podaj rozmiar tablicy\n";
	cin >> n;

	int * ciag = new int[n];

	do {
		cout << "1) Wypelnianie tablicy recznie\n2) Wypelnianie tablicy automatycznie\n";
		cin >> z;
		if (z == 1)
			wpisywanie(ciag, n);
		else if (z == 2)
			gen_ciagu(ciag, n);
		else
			cout << "Podales zla liczbe... jeszcze raz.\n";
	} while ((z != 1) && (z != 2));
	
	wypisywanie(ciag, n);
	
	tmp = sprawdzanie(ciag, n);

	cout << "\nIlosc cyfr o liczbie jednosci wiekszej niz liczbie dziesiatek wynosi: " << tmp << "\n";
	if (tmp > (n / 2.0))
		cout << "Stanowi to ponad polowe wyrazww ciagu\n";
	else if (tmp == (n / 2.0))
		cout << "Stanowi to dokladnie polowe ciagu\n";
	else
		cout << "Stanowi to mniej niz polowe ciagu\n";
	
	system("pause");
}
0

debugger i linijka po linijce sprawdzaj co robi

0
  1. Zlikwiduj smrodek przy inkrementacji: http://4programmers.net/Forum/1101404
  2. Od kiedy liczby całkowite dodatnie to int, mi się wydawało że unsigned?
  3. Wytłumacz mi którego zliczania nie umiesz zaimplementować:
  • ilości cyfr
  • sumy cyfr
  • sumy dziesiątek

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