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

В тексте поменять местами первое и предпоследнее слово - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать одномерный массив Х из элементов матрицы А... http://www.cyberforum.ru/cpp-beginners/thread373266.html
помогите пожалуйста! никак не получается сделать основную задачу. остановился на этом варианте, но все равно не получается - записываю матрицу в массив(все нормально), пытаюсь записать элементы для которых ближайшим целым является 1 из него в другой массив, а на вывод выдает чушь какую-то! Сформировать одномерный массив Х из элементов матрицы А, для которых ближайшим целым является 1. Найти...
C++ не работает bool xor(bool a, bool b) Учусь по "Базовому курсу" Герберта Шилда #include <iostream> bool xor(bool a, bool d); int main() { bool p, q; cout << "Enter P (0 ili 1): "; cin >> p; cout >> "Enter Q (0 ili 1): "; http://www.cyberforum.ru/cpp-beginners/thread373253.html
Переписать в массив Y элементы массива Х с непарными номерами C++
1)Даный масив Х(100). Переписать в масив Y елементы масиву Х з непарными номерами, а в масив Z -елементы масива X, значення каких кратны п'яти. 2)Дана матрица В и мaсив x,x,...,x, где x>0. Знайти отдельное для кождого столбца суму додатних елементов, но меншых за соответствуище значению x. Результаты запомнить у масив y, y,...,y.
C++ Задача на перестановку операция сложегия, вычитания. инкремента и т.д.
Есть код: #include<iostream> using namespace std; int main() { int a,b=20; for(a=0,a<b;a--)
C++ Обработка текстовых файлов http://www.cyberforum.ru/cpp-beginners/thread373235.html
Помогите написать программу для заданного файла удалить все строки, яки начинаются с "*". Результат сохранить в том же файли. незнаю как удалить строку из файла
C++ Подсчитать количество (неупорядоченных) троек точек На плоскости заданы множество точек М и точка DÏМ. Подсчитать количество (неупорядоченных) троек точек А, В, СÎ М таких, что четырехугольник АВСD является параллелограммом. 3.2 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п. подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
27.10.2011, 08:27     В тексте поменять местами первое и предпоследнее слово
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char*  first_upper(char* str);
char* swap_word(char* str);
 
int main(void) {
  char buf[64];
  char str[] = "informix torrent, wow(windows), oslo.";
  printf("%s\n\n",  first_upper(str) );
 
  // обмен первого с предпоследним словом
  strcpy(buf, " leopard, bars, cat:animals.");
  printf("src: %s\n", buf);
  printf("dst: %s\n\n", swap_word(buf));
 
  strcpy(buf, "mars, venus, mercury planets...");
  printf("src: %s\n", buf);
  printf("dst: %s\n\n", swap_word(buf));
  getchar();
  return 0;
}
 
 
// сделать все слова с заглавной буквы по первому символу слова
char*  first_upper(char* str) {
  int   cnt;
  char  ch, *tmp = str;
  for(cnt = 0; *str; *str++) {
       if(isalpha(*str)) {
           if(cnt > 0 && toupper(*str) == ch)
                 *str = ch;
           if(! cnt) ch = toupper(*str);  
                   cnt++;
       } else {
            cnt = 0;
            ch  = '\0';
       }
   }
   return tmp;
}
 
 
// поменять местами первое слово с предпоследним 
char* swap_word(char* str) {
   int len;
   char* tmp = str;
   char fbuf[32] = { '\0' };
   char lbuf[32] = { '\0' }; 
   char* end, *sa, *sb, *sa1, *sb1;
 
   for(sa = str; ! isalpha(*sa) && *sa; *sa++);
   for(sb = sa;  isalpha(*sb) && *sb; *sb++);
   strncpy(fbuf, sa, sb - sa);  
   for(sa1 = str + (strlen(str)-1), len = 2; len > 0; len--) {
        for(; ! isalpha(*sa1) && *sa1; *sa1--);
        for(sb1 = sa1; isalpha(*sa1) && *sa1; *sa1--);
   }
   strncpy(lbuf, ++sa1, sb1 - sa1); 
   if(strlen(lbuf) > strlen(fbuf)) {  
          len = strlen(lbuf) - strlen(fbuf);
          strncpy(strcpy(sa1, sa1 + len), fbuf, strlen(fbuf));
          for(end = str + (strlen(str)); len > 0; len--, ++end)
               for(sa1 = end, sb1 = end - 1; sa1 > sa+len; *sa1-- = *sb1--); 
          strncpy(sa, lbuf, strlen(lbuf));
   } else {
          len = strlen(fbuf) - strlen(lbuf);
          strncpy(strncpy(sa, sa + len, sa1 - sa),  lbuf, strlen(lbuf));
          strncpy(sa1 - len, fbuf, strlen(fbuf));
    }
    return tmp;
}
 
Текущее время: 06:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru