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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
овщпщ
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 2
#1

Определить длину каждого слова строки, и если она четная, то вставить в середину слова "aa", иначе "а" - C++

19.05.2014, 18:56. Просмотров 528. Ответов 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
29
30
31
32
33
34
35
36
37
38
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
char a[80],b[81];
int k=0,l;
char *pa,*pb;
void vst (char *ps,int p,int i, int t)
{int j;
 for (j=i+t;j>p;j--)
 ps[j+1]=ps[j];
}
main ()
{
 clrscr();
 cout<<"vvedite stroku"<<endl;
 gets(a);
 pa=strtok (a," !?;:.,");
 while (pa!=NULL)
  {k=0;
   l=strlen(pa);
   pb=pa;
   cout<<l<<" ";
   int o=l/2;
   vst(pb,o,l,k);           //vizov
   pb[o]='a';
   k++;
   if (l%2==0)          //4etn
    {vst(pb,o,l,k);
     pb[o+1]='a';
    }
   puts(pb);
    pa=strtok (NULL," !?;:.,");
   }
getch();
return 0;
}
Добавлено через 1 час 12 минут
Задача: Дана строка, определить длину каждого слова, и если длинна слова четная, то вставить в середину слова "aa", если не четная - "a"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 18:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить длину каждого слова строки, и если она четная, то вставить в середину слова "aa", иначе "а" (C++):

Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии - C++
3.Написать программу, вводите фамилию, имя и отчество одной строкой. Определить длину каждого слова. Удалить все буквы &quot;а&quot; и &quot;о&quot; с фамилии....

После каждого знака препинания (".", ",", ";") вставить в строку пробел, если там его нет - C++
Выполните задания с использованием библиотечного класса string. Даны строка S. Необходимо после каждого знака препинания (&quot;.&quot;, &quot;,&quot;,...

Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел - C++
Вставить пробел после каждого символа &quot;.&quot; &quot;,&quot; &quot;!&quot; или &quot;?&quot;, если за этими символами не следует пробел (т. е. следует любой символ, кроме...

Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение "Сумма четная", в противном случае напечатать "Сумма - C++
Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение &quot;Сумма четная&quot;, в противном случае...

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова &quot;ноль&quot;, &quot;один&quot;...&quot;девять&quot;,...

Из слова "яблоко" путем склеек и вырезок его букв получить слова "блок" и "око" - C++
Самым самым самым простым способом.

1
овщпщ
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 2
21.05.2014, 18:32  [ТС] #2
Забил на стрток и сделал через фор:
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
#include<iostream.h>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
char a[100];
int k=0,t=0,i,j,l;
void vst (char sl[80], int p, int dl,int k1, int t1)
{   int x;
    for (x=dl+t1;x>p-(k1/2)-1;x--)
        sl[x+1]=sl[x];
}
main()
{
clrscr();
cout<<"„*** бва®Є*:"<<endl;
//strcpy(a,"Њ*¬* ¬л«* а*¬г, ®Є®«® ¬®©¤®¤ла*");
gets(a);
l=strlen(a);
for (i=0;i<=l+t;i++)
    if (a[i]!=' ' && a[i]!=',' && a[i]!='.'&& strlen(a)!=i )
        k++;
    else
    if (k!=0)
    {   cout<<"„«Ё** б«®ў* ";
        for (j=i-k;j<i;j++)
            cout<<a[j];
        cout<<" - "<<k<<endl;
        vst(a,i,l,k,t);
        a[i-(k/2)]='a';
        i++;
        t++;
        if (k%2==0) {vst(a,i,l,k,t);
                 a[i-(k/2)]='a';
                 i++;
                 t++;
                }
        k=0;
    }
puts(a);
getch();
}
Можно закрывать тему
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2014, 18:32
Привет! Вот еще темы с ответами:

Даны две строки. Если они начинаются с одинаковых символов, то напечатать "ДА", иначе - "НЕТ" - C++
Даны две строки. Если они начинаются с одинаковых символов, то напечатать &quot;ДА&quot;, иначе - &quot;НЕТ&quot;. (5)

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

После каждого слова, в котором встречается сочетание "по" вставить символ ';' - C++
&quot;После каждого слова, в котором встречается сочетание &quot;по&quot; вставить символ ';'&quot; Если кто-то захочет помочь, то прошу не стоит...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.