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

Удалить с m по n символов, перезаписать строку и показать ее на экран - C++

Восстановить пароль Регистрация
 
Anwer
 Аватар для Anwer
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 49
14.02.2014, 23:11     Удалить с m по n символов, перезаписать строку и показать ее на экран #1
Удалить с m по n символов, перезаписать строку и показать ее на экран.
К примеру массив на 10 символов, я удаляю с 4 по 6, а то что осталось вывожу как новую строчку.
Как это можно решить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 23:11     Удалить с m по n символов, перезаписать строку и показать ее на экран
Посмотрите здесь:

C++ Удалить с m по n символов, перезаписать строку и показать ее на экран
Написать функцию которая выводит на экран строку символов C++
C++ Ввести строку символов, если ее длина >15, удалить все буквы - a…z.
C++ Вывести строку символов на экран задом наперед
Пользователь вводит отдельно строку и символ, необходимо показать на экран номера по порядку всех совпадений (нумерация с единицы) C++
Посчитать количество строк и символов, удалить 2-ую строку и отдельно добавить в другой файл C++
Удалить с m по n символов, перезаписать строку и показать ее на экран C++
Удалить с m по n символов, перезаписать строку и показать ее на экран C++
C++ Показать на экран с m по n символов строки,
Удалить символы и перезаписать строку C++
C++ Удалить с m по n, символов, перезаписать строку и показать ее на экран
C++ Удалить с m по n символов, перезаписать строку и показать ее на экран

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 120
15.02.2014, 00:44     Удалить с m по n символов, перезаписать строку и показать ее на экран #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
43
#include <iostream>
#include <iomanip>
#include <string>
#include <stdio.h>
 
using namespace std;
 
int main()
{
    int i,m,n,j;
    char a[50];
    puts("vvedite stroky");
    gets(a);
loop:   cout<<"vvedite m i n= ";
    cin>>m>>n;
    cout<<"\n";
    if(m==n)
    {
        goto loop;
    }
    if(m<n)
    {
        for(j=0;j<n-m;j++)
        {
            for(i=m;i<n;i++)
            {
                a[i]=a[i+1];
            }
        }
    }
    else
    {
        for(j=0;j<m-n;j++)
        {
            for(i=n;i<m;i++)
            {
                a[i]=a[i+1];
            }
        }
    }
    puts(a);
    return 0;
}
вот только чуть чуть нужно доработь
Anwer
 Аватар для Anwer
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 49
15.02.2014, 01:18  [ТС]     Удалить с m по n символов, перезаписать строку и показать ее на экран #3
Большое спасибо, а можно как-то объяснить немного решение, что бы понял... Главное хочу понять, как решается.
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 120
15.02.2014, 20:00     Удалить с m по n символов, перезаписать строку и показать ее на экран #4
Цитата Сообщение от Anwer Посмотреть сообщение
Большое спасибо, а можно как-то объяснить немного решение, что бы понял... Главное хочу понять, как решается.
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
#include <iostream>
#include <iomanip>
#include <string>
#include <stdio.h>
 
using namespace std;
 
int main()
{
    int i,m,n,j;
    char a[50];
    puts("vvedite stroky");     // вводим стоку
    gets(a);                        
loop:   cout<<"vvedite m i n= ";  //loop-это как бы закладка, она нужна для goto. затем вводим два числа.
    cin>>m>>n;
    cout<<"\n";
    if(m==n)   //если они равны то нечего удалять. и мы используем goto т.е. перейти к закладке loop чтобы      ввести другие числа.
    {
        goto loop;
    }
    if(m<n)   //проверяем с какого числа начинать удалять
    {
        for(j=0;j<n-m;j++)  //этот цикл повторяется столько раз сколько элементов нужно удалить.
        {
            for(i=m;i<n;i++)  //этот цикл удаляет один элемент т.е. сохраняет на его место следующий за ним
            {
                a[i]=a[i+1];
            }
        }
    }
    else
    {
        for(j=0;j<m-n;j++)
        {
            for(i=n;i<m;i++)
            {
                a[i]=a[i+1];
            }
        }
    }
    puts(a);            //выводим строку
    return 0;
}
прости я допустил ошибку здесь:
в строке 25
C++
1
for(i=m;i<n;i++)
n нужно поменять на strlen(a)

и здесь в строке 35
C++
1
for(i=n;i<m;i++)
m нужно поменять на strlen(a)
Yandex
Объявления
15.02.2014, 20:00     Удалить с m по n символов, перезаписать строку и показать ее на экран
Ответ Создать тему
Опции темы

Текущее время: 10:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru