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

Скопировать второе слово каждой строки в начало следующей строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В двумерной матрице отсортировать столбцы методом вставок http://www.cyberforum.ru/cpp-beginners/thread109813.html
помогите с задачками:) задача №1 В двумерной матрице отсортировать столбцы методом вставок задача №2 Из массива символов размером 15 вывести на экран элементы с нечетным номером задача №3 В...
C++ создаю список для структуры Дана структура,которая вводится с клавы!вот,ввели информацию,нужно создать список,я создал,и чтобы в этот список записывалась информация о поездах,которые мы вводим с клавы,далее нужно добавь в... http://www.cyberforum.ru/cpp-beginners/thread109804.html
C++ /*Введём текст с заканчивающийся точкой , вывести все слова у которых первая и последняя буквы одинаковы.*/h
Программа работает а результата нет, или я туплю... /*Введём текст с заканчивающийся точкой , вывести все слова у которых первая и последняя буквы одинаковы.*/ #include <iostream.h> #include...
сортировка слиянием C++
Ребят,помогите пожалуйста,нужно отсортировать массив,который вводим с клавиатуры методом слияния,вот я написал ,но сортировка не работает,в чем проблема?допишите и исправьте если можно #include...
C++ Динамические массивы... http://www.cyberforum.ru/cpp-beginners/thread109794.html
Помогите пожалуйста.... Дано матрицу размерностью N * М с произвольных многочисленных элементов. Найти элементы, которые по модулю меньше некоторого значения, введенного с клавиатуры.
C++ [c++] Перегрузка операторов Для заданных A = (A – a1, A, A + a2) и B = (B – b1, B, B + b2) Найти сумму A + B = (A + B – a1 – b1, A + B, A + B + a2 + b2); #include <conio.h> #include <iostream.h> struct FazzyNumber {... подробнее

Показать сообщение отдельно
DjaFaR74
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 47
14.12.2011, 12:32
Вот что получилось, не компилирует
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
using namespace std;
char filename[80];     /* имя файла */
char bu1[81], bu2[81]; /* входной и выходной буферы */
 
int main(int an, char *av[]) {
 char *b1, *b2,*bv,nw,*kv,*kk; /* текущие указатели в буферах, новое слово  */
 char os;       /* предыдущий символ */
 FILE *inf, *outf;  /* файловые переменные */
 
b2=bu2;
 
  for (int lmax=0; fgets(bu1,80,inf)!=NULL; lmax++)
  {
 
    if (lmax>0) while (*kv) *b2++=*kv++;       //если не первая строка, то скопировать указатель на второе слово в выходной буфер
    kv=kk;
    for (os=' ',nw=0,b1=bu1; *b1; os=*b1++)
    {
      switch(*b1)
        {
        case 0xA: break;       //если конец строки
        case ' ': if (os==' ') break;//если предыдущий был пробел, то удаляем
        default:  if (os==' ') nw++;//если пробел, то увеличим счетчик слов
 
         if (nw==1) *kv++=*b1;//если второе слово, то запишем в указатель
         if (lmax==0) *b2++=*b1;//если первая строка, то перепишем всю строку
         if ((lmax>0)&&(nw>0)) *b2++=*b1;break;
      }
   *kv=0;//добавим в конец слова 0-как признак конца
    }
  fprintf(outf," %s\n",bu2);
 
    }
  fclose(inf);
  fclose(outf);
 
 
  system("pause");
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru