Форум программистов, компьютерный форум, киберфорум
Наши страницы

Преобразовать каждое слово в строк, заменив в нем все предыдущие вхождения его последней буквы на символ «.» - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На чем писать графику? http://www.cyberforum.ru/cpp-beginners/thread1055122.html
Доброго времени суток. Учу и практикую с++, естественно пробовал приступать к изучению OpenGL, но недавно видел, что с ним работать неудобно из-за его примитивности и низкоуровневости, другое дело...
C++ Работа с массивами в С++ Здравствуйте. У меня в программе есть некий класс Enemy class Enemy { public: int a, b, c; } И есть массив экземпляров класса http://www.cyberforum.ru/cpp-beginners/thread1055110.html
создание массива D из произведения элементов строк двумерного массив C++
Написать программу создания и вывода массива (заполнить рандомно) и создания массива D из произведения элементов строк двумерного массива и записать как одномерный массив. Задание выполнять при...
C++ Считывание из файла
Ребят, нужно сделать так чтобы программа считывала файл таким образом: первая строка (в ней число) загоняется в переменную, все следующие строки (в них идет число и слово, например: 2 Компьютер)...
C++ Графы http://www.cyberforum.ru/cpp-beginners/thread1055093.html
Здравствуйте! Помогите решить задачу на графы, у меня не получается правильно записать элементы в массив. Моя идея такая: граф — одномерный массив, элементами которого являются двусвязные списки....
C++ вывести на экран позицию первого отрицательного числа дан массив х 3 -2 6 у 4 6 -6 Помогите пожалуйста вывести на экран позицию первого отрицательного числа Добавлено через 47 минут помогите пожалуйста, срочно надо подробнее

Показать сообщение отдельно
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
24.12.2013, 20:44
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
#include <iostream>
 
int main() {
  char s[256];
  std::cout << "input string:\n";
  std::cin.getline(s, sizeof(s));
  
  int i = 0, j;    
  while(s[i]) {                    
    // если встретили не пробел, значит i указывает на первую букву слова
    if(s[i] != ' ') {              
      // начинаем поиск признака конца слова(пробел, либо конец строки)
      j = i + 1;      
      while(s[j] && (s[j] != ' ')) 
        ++j;      
      // возвращаем j(которая в данный момент указывает на пробел, либо конец строки) к последней букве слова
      --j;                         
      // пока не достигли последней буквы слова заменяем всё буквы совпадающие с последней на точку
      while(i < j) {               
        if(s[i] == s[j])           
          s[i] = '.';              
        ++i;                       
      }      
    }        
    ++i;
  }
  
  std::cout << s << std::endl;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.