Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

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


 

С++ програма,която чете произволно количество текст от входа, завършваща с ' . ' и го извежда на изхода в обратен ред. Използвайте списък за да запомните информацията. Запомняйте символите в списък (един по един, използвайте getchar() за четене на символите, използвайте callos за откриване на елементи в списъка и вмъкването му в началото на списъка). Когато прочете символа ' . ' , трябва да спрете четенето на символли и да ги изведете списъка по символ.

Може ли да ми помогнете?Направила съм това:

#include<iostream>
#include <stdio.h >
#include<windows.h>

using namespace std;

int getkey()
{

	SetConsoleOutputCP(1251);
	int c = getchar(); 
	if (c != '\n') getkey();
	putchar(c);
	
	return 0;
}

int main()
{
	SetConsoleOutputCP(1251);
	cout << "Въведете дума/изречение. \n";
	while (2)
	{
		getkey();
		putchar('\n');
		putchar('\n');
	
	}
	return 0;
}

Ако може и коментари?

 

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


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

Маце нещо взе да ме изнервяш, програми не се пишат с copy-paste от друга тема особенно ако не отговарят на условието.https://www.kaldata.com/forums/topic/291093-програма-за-обръщане-на-изричениедума/

 

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


Линк към този отговор
Сподели в други сайтове
// http://cpp.sh/
// Example program
#include <iostream>
#include <string>
#include <stack>

using namespace std;

int main()
{
    stack<string> words;
    string word = "";
    char c;
    
    while ((c = getchar()) != '.') {
        if (c == ' ' || c == '\n') {
            words.push(word);
            word = "";
        } else {
            word += c;
        }
    }
    
    words.push(word);
    
    while (!words.empty()) {
        cout << words.top() + " ";
        
        words.pop();
    }
    
    return 0;
}

Общото между моя и твоя код е, че и двата са достойни за публикуване в сайтове като https://govnokod.ru/, ама на нас не ни пука, нали? ^^

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


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

Пък ако искаш и думите да са обърнати...

// Example program
#include <iostream>
#include <string>
#include <list>

using namespace std;

int main()
{
    list<char> chars;
    char in;
    
    while ((in = getchar()) != '.') {
        if (in == '\n') {
            continue;
        } else {
            chars.push_front(in);
        }
    }

    for (char out : chars) {
        cout << out;
    }
}

 


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


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

2.1 Писането на български език с кирилица е задължително. Теми и съобщения, написани на латиница, само с главни букви или със заместени символи вместо Ч-4, Ш-6 и т.н. се изтриват без предупреждение.

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

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


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

Защо ти е да учиш програмиране , ако не можеш да си напишеш една reverse функция ? Отговорете ми, наистина съм любопитен.

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


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

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...