Witam,
Chciałem porównać te wczytywanie liczby, ale nie wiem jak je zapisać
Najlepiej do takiego typu problemu użyj tablic(http://cpp0x.pl/kursy/Kurs-C++/Tablice-zmiennych/298). Tablice to struktura danych przechowywanych obok siebie. Znakomicie nadają się do przechowywania dużej ilości danych tego samego typu i można się łatwo odwołać do żądanego elementu. Np do przechowywania elementów ciąg matematycznego.
bo po przejściu pętli "znikaja", jak je zapisać po wczytaniu cin
Dowiedz się również o zakresach zmiennych. Ogólnie jest taka zasada że nie powinno się używać w programie zmiennych globalnych czyli takich, które są zdefiniowane poza funkcją main. U Ciebie to :
string liczba;
int n,d;
Ostatni uwaga to sposób formatowania kodu oraz nazwania zmiennych. Staraj się używać wcięć(tabulatorów) dla poszczególnych bloków kodu np. to co jest w if, for oraz używaj precyzyjniejszych nazw zmiennych.
int iloscElementow;
//zamiast
int n;
Najlepiej jakieś rozwiązanie bez użycia tablic.
Może to Ci pomoże:
#include <iostream>
using namespace std;
int main(void)
{
string liczba;
int maxLiczba;
int zmiennaPomocnicza;
int n;
cout << "Podaj liczbe wyrazow ciagu: ";
cin >> n;
cout << "Podaj 1 wyraz ciagu : ";
cin >> liczba;
if((liczba.length() % 2) != 0)
{
maxLiczba = stoi(liczba);
}
else
{
maxLiczba = 0;
}
for(int i = 2; i <= n; i++)
{
cout << "Podaj " << i << " wyraz ciagu: ";
cin >> liczba;
zmiennaPomocnicza = stoi(liczba);
if( (liczba.length()%2) != 0)
{
cout << "Liczba o nieparzystej liczbie cyfr " << endl;
if(zmiennaPomocnicza > maxLiczba)
{
maxLiczba = zmiennaPomocnicza;
}
}
}
if(maxLiczba)
{
cout << "Nie podales liczbo o nieparzystej ilosci cyfr " << endl;
}
else
{
cout << "Najwieksza liczba o nieparzystej ilosci cyfr to : " << maxLiczba << endl;
}
return 0;
}