Премини към съдържанието
15 години Kaldata.com – време е да почерпим! Прочети още... ×

Препоръчан отговор


Търсих в интернет, но не намерих. Ако може някой да помогне със следната задача:
"Да се състави програма на базата на динамична структура стек, която прочита въведена от клавиатурата дума и определя, дали тя е палиндром, т.е. думата се чете по един и същ начин и отляво, и отдясно. Например капак или abba." Благодаря предварително.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

#include <iostream>
#include <stack>
#include <string>
using namespace std;

stack <char> smack;
string s;


int main()
{
	char c;
	int i;
	cout << "vavedete duma -> ";
	cin >> s;
	for (i = 0; i < s.length() / 2; i++)
	{
		smack.push(s[i]);
	}
	for (i = s.length() - s.length() / 2; i < s.length(); i++)
	{
		c = smack.top();
		smack.pop();
		if (c != s[i])
		{
			cout << "\n\n" << s << " ne e palindrom bre !!!";
			return 0;
		}
	}
	cout << "\n\npalindrom e palindrooooom !!!";
	return 0;
}

 

Редактирано от Реджеп Иведик (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Подобни теми

    • от 7564321
      Здравейте, тази задача ми се бе паднала на контролно, за съжаление се мъча твърде дълно с нея затова се налага да потърся съвет от някой с повече опит.
      Та ето го условието: 
      Да се създаде свързан списък от естествени числа до въвеждането на 0, чрез добавяне в края. Готовият списък да се иведе на екрана. Да се въведе от клавиатура та цяло число Х и всички елементи на списъка , по-големи от  Х , да се запишат в стек. Да се прочетат елементите на стека и да се изведат на екрана.
      Кодът написан до момента. (фунциите ползвани в него са ни преподавани в лекциите). Моля да обясните защо не работи, как е правилно да бъде направено. 
      #include <iostream> using namespace std; struct List { int x; List *next; }; void Spush(List *& top, int i) { List *p = new List; p->x = i; p->next = top; top = p; } List * Spop(List *& top) { if (top == NULL) return top; List *p = top; top = top->next; return p; } void AddEnd(List *& first, List *& last, int i) { List *p = new List; p->x = i; p->next = NULL; if (first == NULL) first = last = p; else { last->next=p; last=p; } } void PrintList(List * first) { List *p = first; while (p != NULL) { std::cout << p->x << " "; p = p->next; } std::cout << std::endl; } int main() { int y; cin>>y; List *first=NULL,*st,*last; st=NULL; List *p=first; while(y!=0){ AddEnd(first,last,y); cin>>y; } PrintList(first); // Тази част работи до тук st=NULL; int X; cin>>X; if(X>=0){ while (p!=NULL){ if (p->x>X) { Spush (st,p->x); p=p->next; } } } else cout<< "X is less that 0"; while ((p=Spop(st))!=NULL){ cout <<p->x<<" "; delete p; } //Елементите не се извеждат, без никакви грешки cout<<endl; }  
    • от NightRider14
      Здравейте, понеже си падам малко карък, за курсова работа изтеглих възможно най-трудната задача и сега се измъчвам с нея. Мисля, че я направих до половината, но след това тотално забих и много, много ще съм Ви благодарен, ако ми помогнете да я реша.. Трябва ми за сряда (15.02.2017).

      Задачата : Да се създаде свързан списък от 10 цели двуцифрени числа. Да се запишат в стек (като се изтриват от списъка) първите 3 нечетни числа (ако има такива). Промененият списък да се изведе на екрана. Да се запишат в опашка всички елементи на списъка, които се делят на някоя от своите цифри. Да се прочетат елементите на стека и опашката, и да се изведат на екрана./
      Благодаря предварително!
  • Разглеждащи в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.