Pary z tablicy
Ostatnio zmodyfikowano 2016-04-07 22:15
Moozy Temat założony przez niniejszego użytkownika |
Pary z tablicy » 2016-04-07 19:34:03 Mam do napisania program w którym wpisuje do tablicy liczbę podana z klawiatury, z tej tablicy wypisuje mi liczby parami, a później wypisuje większą liczbę. Ogólnie mam już wszystko, tylko nie umiem wypisać tej pary ;-; coś nie mogę na to wpaść. Założę się, że jest to proste, ale potrzebuję pomocy. Oto kod: / #include <iostream> #include <iomanip> #include <ctime> #include <cmath> #include <windows.h>
using namespace std;
int main() { long long a; int licznik = 0; int rozmiar; long long n; int parzysta; int nieparzysta; cout << "Podaj a: "; cin >> a; n = a; cout << "A: " << a; while( a > 0 ) { a /= 10; licznik++; } cout << "Rozmiar: " << licznik << endl; if( licznik % 2 == 0 ) rozmiar = licznik + 1 +( licznik / 2 ); else rozmiar = licznik + 2 +( licznik / 2 ); int tab[ rozmiar ]; for( int i = 0; i < rozmiar; i++ ) { tab[ i ] = 0; } for( int i = licznik - 1; i >= 0; i-- ) { cout << n % 10 << endl; tab[ i ] = n % 10; n = n / 10; } int licznik2 = licznik; licznik2 += 1; for( int i = 0; i < licznik; i++ ) { if(( i == licznik - 1 ) &&( licznik % 2 == 1 ) ) { parzysta = tab[ i ]; nieparzysta = tab[ 0 ]; if( parzysta > nieparzysta ) { tab[ licznik2 ] = parzysta; licznik2++; } else { tab[ licznik2 ] = nieparzysta; licznik2++; } } else if( i % 2 == 0 ) { parzysta = tab[ i ]; nieparzysta = tab[ i + 1 ]; if( parzysta > nieparzysta ) { tab[ licznik2 ] = parzysta; licznik2++; } else if( parzysta < nieparzysta ) { tab[ licznik2 ] = nieparzysta; licznik2++; } } } cout << endl; [ / i ] [ cpp / ] |
|
Gibas11 |
» 2016-04-07 19:37:45 Wstaw kod w znacznikach [cpp]/* tu kod */[/cpp] . |
|
carlosmay |
» 2016-04-07 19:44:11 Przykład: int tab[] { 1, 2, 3, 4, 5, 6 };
for( int i = 0; i <( sizeof( tab ) / sizeof( int ) ) - 1; i += 2 ) { std::cout << tab[ i ] << " oraz " << tab[ i + 1 ] << " i wieksza z nich to: " <<( tab[ i ] > tab[ i + 1 ] ? tab[ i ]: tab[ i + 1 ] ) << std::endl; } |
|
Moozy Temat założony przez niniejszego użytkownika |
» 2016-04-07 20:13:15 Przykład: C/C++ int tab[] { 1, 2, 3, 4, 5, 6 }; // od C++11
for( int i = 0; i <( sizeof( tab ) / sizeof( int ) ) - 1; i += 2 ) { std::cout << tab[ i ] << " oraz " << tab[ i + 1 ] << " i wieksza z nich to: " <<( tab[ i ] > tab[ i + 1 ] ? tab[ i ]: tab[ i + 1 ] ) << std::endl; }
|
Jezeli wpisze swoja liczbę np:1234 to dodatkowo sprawdza mi jeszcze 0 z 2 :/ |
|
carlosmay |
» 2016-04-07 21:01:23 Mam do napisania program w którym wpisuje do tablicy liczbę podana z klawiatury, z tej tablicy wypisuje mi liczby parami, a później wypisuje większą liczbę. |
Możesz rozwinąć tą myśl. Jest bardzo niejasna. Tak przydziela się pamięć dla tablic o rozmiarze ustalanym w locie. int * tab = new int[ rozmiar ];
delete[] tab; a jeszcze lepiej tak std::vector < int > tab( rozmiar ); Skorzystaj z std::string i problem z głowy: std::string tab; std::getline( std::cin, tab ); if( tab.size() % 2 == 0 ) { for( int i = 0; i < tab.size() - 1; i += 2 ) { std::cout << tab[ i ] << " oraz " << tab[ i + 1 ] << " i wieksza z nich to: " <<( tab[ i ] > tab[ i + 1 ] ? tab[ i ]: tab[ i + 1 ] ) << std::endl; } } else { std::cout << "Liczba nie jest parzystej dlugosci" << std::endl; } |
|
Moozy Temat założony przez niniejszego użytkownika |
» 2016-04-07 22:15:36 Zrobiłem coś taiego: for( int i = 0; i <( licznik ) - 1; i++ ) { cout << tab[ i ] << " i " << tab[ i + 1 ] << " i wieksza to: "; cout <<( tab[ i ] > tab[ i + 1 ] ? tab[ i ]: tab[ i + 1 ] ) << endl; }
i działa :D to zadanie akurat bez stringa musiałem zrobić |
|
« 1 » |