1

Тема: Виділення сhar кольором

Як виділити max пропускі кольором. Я не знаю як це зробити.  Велика подяка за допомогу у вигляді коду.
P.S. В мене не має VS, користуюсь joodle.
Взагалі навіщо давати такі завдання на 2 курсі коледжу (=11 клас), курс "Основи програмування"?

#include <iostream>
#include <cstring>
#include<stdio.h>
#include <conio>
using namespace std;
//Написати програму, яка:
//виводить текст на екран дисплея;
//визначає найбільшу кількість підряд пропусків, що йдуть, в тексті;
//по натисненню довільної клавіші по черзі виділяє кожну з послідовностей пропусків максимальної довжини.

void PrintColor(char a)
{
    textcolor(YELLOW);
    textbackground(BLUE);
}
int main()
{
    setlocale(LC_ALL, "Russian");
    
    char str[] = "Тестові     дані насправді є вхідними     даними для програми. На пошук, створення та підтримку тестових  даних  витрачається до 60     відсотків робочого часу.";
    
    int l =strlen(str);
    int SIZE = l+1;
    
    cout<<"\nВ масиві записано рядок:"<<endl;
    puts(str);
    cout<<"\nКількість символів у рядку - "<<l<<"."<<endl;    
    
    char *str1=new char[SIZE];
    strcpy (str1, str);
            
    int countSpace=0;
    int countTemp=0;
    int countSpase=0;
    for(int i=0;i<SIZE;i++)
    {
        if(str1[i]==' ')
        {
            countTemp=1;
            while(str1[i] && str1[++i]==' ')
            countTemp++;
            countSpase=max(countTemp,countSpase);
        }
    }
    cout<<"\nНайбільша кількість підряд пропусків = "<<countSpase<<endl;
    
    int j=0;
    while(j<=SIZE)
    {
        int posfirstspace, poslastspace;
        if(str1[j]==' ') {
            posfirstspace = j;
            poslastspace = j;
            while(str1[j] && str1[j+1]==' ') {
                poslastspace++;
                j++;
            }
        }
        if (poslastspace-posfirstspace+1 == countSpase) {
            for (posfirstspace; posfirstspace<=poslastspace; posfirstspace++) {
                PrintColor(str1[posfirstspace]);
            }
        }
        j=poslastspace+1;
    }

    cout<<str1<<endl;
    return 0;
}

2

Re: Виділення сhar кольором

На жаль для вас, ніяк. Стандартний C/C++ узагалі не підтримує ніяких кольорів - зокрема тому, що вводити/виводити ви можете не з клавіатури на екран, а, наприклад, з мережі на принтер чи з файлу в інший файл, методи уніфіковані. Кольори є лише на пристроях під конкретними ОС, і вам необхідно використовувати бібліотеки для цих ОС, які не працюватимуть на інших ОС.

Подякували: reladon1

3

Re: Виділення сhar кольором

Ще одне питання - я так розумію, що неможливо звернутися з он-лайн компілятора до локального файла?