Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
vik4047
-10 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 77
#1

Ввести строку символов. Определить длину введенной строки L, и если длина L кратна 3, то удаляются все символы, стоящие на местах с номером кратным 3 - C++

20.12.2012, 00:21. Просмотров 1391. Ответов 8
Метки нет (Все метки)

!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 00:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ввести строку символов. Определить длину введенной строки L, и если длина L кратна 3, то удаляются все символы, стоящие на местах с номером кратным 3 (C++):

Программа должна определить длину введенной строки L и, если длина L >15, то удаляются все a..z.
27. Ввести с клавиатуры строку символов. Признак окончания ввода строки –...

Определить длину введенной строки L, и если длина L четная, то удаляются 3 первых, иначе 3 последних символа
#include "stdafx.h" #include "conio.h" #include "stdio.h" #include...

Определить длину введенной строки, и, если длина больше заданной, то удалить символы от a до z
Здравствуйте можете пожалуйста помочь с задачей на строки. Очень прошу....

Ввести строку символов, если ее длина кратна 2, посчитать количество цифр в этой строке.
Помогите,пожалуйста, решить прогу....Ввести строку символов, если ее длина...

Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов. Решить в VC++.
Ввести строку символов, если ее длина кратна 5, посчитать количество скобок...

Программа со строками. Определить длинну введенной строки L и если длина L кратна 3 удалит каждый третий символ
Люди помогите нечего не понимаю нужна программа что бы могла вывести с...

8
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
20.12.2012, 00:34 #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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char str[200];
    int L;
 
    cout << "Введите строку:" << endl;
    cin.getline(str, 200);
 
    L = strlen(str);
 
    if (L % 3 == 0)
        for (int i=0; i<L; i+=3)
        {
            int j;
            for (j=i; j<L-1; j++)
                str[j] = str[j+1];
            str[j] = '\0';
        }
 
    cout << str << endl;
 
    system("pause");
    return 0;               
}
2
vik4047
-10 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 77
20.12.2012, 00:38  [ТС] #3
у тебя рейтинг повышается если я на твои сообщения нажимаю спасибо???
0
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
20.12.2012, 00:39 #4
Репутация повышается)
А у тебя почему такая маленькая?
1
vik4047
-10 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 77
20.12.2012, 00:49  [ТС] #5
потому что только прошу что бы мне помогли а не помогаю, я слаб в этом деле
http://www.cyberforum.ru/cpp-beginners/thread739218.html#post3887233

Добавлено через 6 минут
ну ты реально быстро пишешь проги ваще зачет)
0
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 12:10 #6
v.a.l.i.d, есть одна проблема.

Допустим, исходная строка: 012345678
По идее должно получаться: 124578 (если считать к тому же, что 0 кратен 3)

А выходит: 123567
1
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
20.12.2012, 12:13 #7
Schizorb, напиши правильно а то я вчера поторопился и с ошибками сделал
0
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 12:18 #8
Там просто после "удаления" сдвигом, нужно индекс на 1 уменьшать.

Можно для этого приращение в цикле исправить на i += 2
0
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
20.12.2012, 12:29 #9
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char str[200];
    int L;
 
    cout << "Введите строку:" << endl;
    cin.getline(str, 200);
 
    L = strlen(str);
 
    if (L % 3 == 0)
        for (int i=0; i<L; i+=2)
        {
            int j;
            for (j=i; j<L-1; j++)
                str[j] = str[j+1];
            str[j] = '\0';
            L = strlen(str);        // длина строки изменилась
        }
 
    cout << str << endl;
 
    system("pause");
    return 0;               
}
2
20.12.2012, 12:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 12:29
Привет! Вот еще темы с решениями:

Если длина введенной строки кратна 4, первую часть строки поменять местами со второй
Если длина введенной строки кратна 4, первую часть строки поменять местами со...

Ввести строку символов, если ее длина >15, удалить все буквы - a…z.
Помогите,пожалуйста,решить задачку на С++: :gsorry: Ввести строку символов,...

Строка: Определите длину введенной строки, и если она кратна 4, то поменяйте местами первую часть строки со второй
Разработайте программу работы со строками. Организуйте ввод исходных данных с...

Ввести строку символов, если ее длина нечетная, удалить символ, стоящий посередине строки.
Помогите пожалуйста с решением Ввести строку символов, если ее длина нечетная,...


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

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

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