Форум программистов, компьютерный форум CyberForum.ru

Переправить на очередь - C++

Восстановить пароль Регистрация
 
NightSpy
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 7
18.04.2013, 10:02     Переправить на очередь #1
Помогите переправить код нужно что то такое же только с очередью(((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h> 
#include <string.h>
#include <conio.h>
int main()
{
    char delim[] = " ";
    char BUF[1025]={0};
    char str[1025]={0};
    char *buf;
    do
    {
        printf("Enter sentence(s) less than 1024 chars:\r\n");
        scanf("%[^\n]",str,&buf);
        printf("Removing numerous spaces\r\n");
        buf = strtok(str,delim);
        sprintf(BUF, "%s",buf);
        while(buf)
        {
            sprintf(BUF, "%s %s",BUF, buf);
            buf = strtok(NULL,delim);
        }
        printf("%s",strcpy(str,BUF));
        printf("\r\nPress \'y\' for new input\r\n");
    }
    while(getch() == 'y');
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
18.04.2013, 11:33     Переправить на очередь #2
Описывайте задачу. Нет желания разбираться в хитрых случаях.
Правильно ли я понял, что код убирает двойные пробелы?

Что является очередью и допустимо по ограничениям?
std::queue?
Поток?
Массив?
Самописный класс на основе двусвязного списка?
NightSpy
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 7
18.04.2013, 17:16  [ТС]     Переправить на очередь #3
Программа убирает 2 и более пробелов делая 1. Ограничение нет просто надо написать программу используя очередь.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
19.04.2013, 09:21     Переправить на очередь #4
Цитата Сообщение от lemegeton Посмотреть сообщение
Что является очередью и допустимо по ограничениям?
std::queue?
Поток?
Массив?
Самописный класс на основе двусвязного списка?
Что, по-вашему, является очередью?
NightSpy
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 7
22.04.2013, 08:42  [ТС]     Переправить на очередь #5
Используя очередь, отредактировать текст, оставляя один пробел в каждой серии
пробелов. Вот само задание
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
22.04.2013, 09:26     Переправить на очередь #6
lemegeton, Я так думаю, что это будет однонаправленный список, по типу FIFO (первый пришел, первый ушел)
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
22.04.2013, 13:08     Переправить на очередь #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <string>
#include <iostream>
#include <queue>
 
int main ()
{
  std::queue<char> myqueue;
  std::string str = "          Hello,               World!";
  char prev;
 
 for(std::string::iterator it = str.begin();
     it != str.end(); ++it)
     {
          myqueue.push(*it);
     }
 str.clear();
  while (!myqueue.empty())
  {
      prev = myqueue.front();
          myqueue.pop();
         if  (!myqueue.empty())
         {
             if(prev != ' ' ||  ' ' != myqueue.front())
             {
                 str += prev;
             }
         }
         else
             str += prev;    
  }
  std::cout << "New string :\n" << str << std::endl;
  return 0;
}
NightSpy
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 7
22.04.2013, 17:07  [ТС]     Переправить на очередь #8
Почему то не запускается((( Вылетает сразу(
NightSpy
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 7
24.04.2013, 10:02  [ТС]     Переправить на очередь #9
Пожалуйста подскажите что в ней не так ??? Почему не запускается((
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.04.2013, 10:21     Переправить на очередь #10
Цитата Сообщение от NightSpy Посмотреть сообщение
Почему не запускается((
Запускается .
Вот на codepad посмотрите
http://codepad.org/2RjSQepG
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 13:15     Переправить на очередь
Еще ссылки по теме:

Переправить от клиента на сервер символ wchar_t C++
Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди C++
Очередь, теория. Очередь на шести стеках C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
NightSpy
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 7
24.04.2013, 13:15  [ТС]     Переправить на очередь #11
Большое спасибо!!!

Добавлено через 19 минут
1. Дано N-дерево. Найти самый длинный в дереве путь,
проходящий только по вершинам с нечётными номерами.
2. Даны две разреженные структурно симметричные матрицы. Перемножить
их и результат занести в разреженную матрицу CSS.


Может у кавото есть чтото похожее???
Yandex
Объявления
24.04.2013, 13:15     Переправить на очередь
Ответ Создать тему
Опции темы

Текущее время: 02:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru