29.04.2013, 14:43 | #1 (permalink) |
Member
Регистрация: 10.12.2012
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Стеки
Добавлено: С помощью массивов я сделал. Помогите реализовать это все с помощью списков. Код:
#include <iostream> using namespace std; int main() { setlocale ( LC_ALL, "russian" ); int n = 3; int stek_a [n], stek_b [n], stek_c [n + n]; int v_a = -1, v_b = -1, v_c = -1; char s; bool f = true; // Заполнение стека 1 while (( v_a < n-1 ) && ( f == true )) { v_a ++; cout << "Vvedite elementi steka A: "; cin >> stek_a [v_a]; cout << "Zelaete li prodolzit? (y/n): "; cin >> s; if ( s == 'n' ) f = false; } // Заполнение стека 2 while (( v_b < n-1 ) && ( f == true )) { v_b ++; cout << "Vvedite elementi steka B: "; cin >> stek_b [v_b]; cout << "Zelaete li prodolzit? (y/n): "; cin >> s; if ( s == 'n' ) f = false; } // Заполнение стека 3 while (( v_a > -1 ) || ( v_b > -1 )) { if (( v_a > -1 ) && ( v_b > -1 )) { if ( stek_a [v_a] >= stek_b [v_b]) { v_c ++; stek_c [v_c] = stek_a [v_a]; v_a --; } else { v_c ++; stek_c [v_c] = stek_b [v_b]; v_b --; } } if (( v_a == -1 ) && ( v_b > -1 )) { v_c ++; stek_c [v_c] = stek_b [v_b]; v_b --; } if (( v_b == -1 ) && ( v_a > -1 )) { v_c ++; stek_c [v_c] = stek_a [v_a]; v_a --; } } while ( v_c > -1 ) { cout << "Element " << v_c << "steka C = " << stek_c [v_c] << endl; v_c --; } system ( "pause" ); return 0; } |
01.05.2013, 16:02 | #2 (permalink) |
404
Регистрация: 10.01.2010
Сообщений: 1,749
Записей в дневнике: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3868
|
Будет время, напишу.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|