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

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

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

Пределать программу работы с символами - C++

15.12.2011, 15:22. Просмотров 332. Ответов 4
Метки нет (Все метки)

Приветствую, возникла проблемка.. знаю как работать со строками и сделал программу выполняющую необходимые условия.. но оказалось нужно сделать без использования strings strcpy и тд элементов работы со строками, через циклы.....
Задание:добавить цифру один в начало и конец строки "3456", тоесть чтобы получилось "134561".
Вот мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string.h>
using namespace std;
 
int main()
{
     char str1[] = "3456";
     char str2[] = "1";
     char str3[] = "1";
     cout << "Pervono4alnya stroka - "<< str1 <<"\n\n";
     cout << "Dobavlenie v na4alo stroki chisla  - \n";
     strcat (str2, str1);
     cout << str2 <<"\n\n";
     cout << "Dobavlenie v konets stroki chisla  - \n";
     strcat (str2,str3);
     cout << str2 <<"\n\n";
     system("pause");
}
Может кто помочь?

Добавлено через 30 минут
Может быть какието соображения какието есть у кого? Я сам пока немогу сообразить.. но так думаю это нада делать как с массивом, добавить в конец новый символ. А вот в начало как? =)
И хотелось бы пример...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2011, 15:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пределать программу работы с символами (C++):

как пределать код из C# в C++ - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;locale.h&gt; #include &lt;conio.h&gt; using namespace std; float CountElMassive(float...

Только операции и функции для работы с символами, строками и целыми числами - C++
Пусть ЭВМ не умеет работать с вещественными числами, а имеет только операции и функции для работы с символами, строками и целыми числами. ...

Переделать программу работы с массивом для работы с вектором - C++
помогите переделать эту программу!!...при одном условии....вот что находится между int main() и return 0; сохранить.....здесь нужно...

Напишите программу, которая в заданном предложении заменяет символы самого длинного слова символами x - C++
Напишите программу, которая в заданном предложении заменяет символы самого длинного слова символами x. ВОПРОС ЖИЗНИ И СМЕРТИ

Объясните программу работы со строками - C++
Объясните подробно, пожалуйста, что тут написано string s; cout « &quot;Vvedite stroku: &quot;;cin » s; int i,j; for (i=s.length()-1;i&gt;0;i--)...

Обьяснить программу (Принципи ее работы) - C++
Здравствуйте! Есть программа: #include &lt;stdio.h&gt; #include &lt;memory.h&gt; struct arrInt { char * data; int length;

4
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
15.12.2011, 16:10 #2
Muska,ну если делать для твоего примера, то будет так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <conio.h>
 
int main()
{
    char str1[] = "3456",c='1';
    int i;
    for (i=4;i>=0;i--)
        str1[i+1]=str1[i];
        
    str1[0]=c;
    str1[5]=c;
    for (i=0;i<=5;i++)
        printf("%c",str1[i]);
    getch();
    return 0;
}
1
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
15.12.2011, 16:21 #3
Цитата Сообщение от Ropsat Посмотреть сообщение
char str1[] = "3456"
sizeof( str1 ) == 5 (четыре символа + нуль-терминатор)

Цитата Сообщение от Ropsat Посмотреть сообщение
for (i=4;i>=0;i--) str1[i+1]=str1[i];
Здесь происходит выход за пределы памяти массива.

Добавлено через 53 секунды
C
1
char str1[6] = "3456"; // теперь есть место для сдвига
Добавлено через 1 минуту
там ещё нуль-терминатор в конце выставить надо

Добавлено через 2 минуты
Короче:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main( int argc, char ** argv )
{
   char buffer[8];
   const char * str = "3456";
   int i;
   
   buffer[0] = '1';
 
   for( i = 1; i < 5; i++ )
      buffer[i] = str[i - 1];
 
   buffer[5] = '1';
   buffer[6] = 0;
   
   puts( buffer );
   
   return 0;
}
1
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
15.12.2011, 16:24 #4
talis, спасибо што поправили
0
Muska
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 11
15.12.2011, 16:35  [ТС] #5
Да совсем по другому.....
И как видно, куда удобнее делать со строками...

Спасибо !
0
15.12.2011, 16:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2011, 16:35
Привет! Вот еще темы с ответами:

Написать программу работы с файлом сведений - C++
Создать файл, содержащий сведения о соревнованиях по четырем дисциплинам легкой атлетики. Структура записи: фамилия спортсмена, дисциплина...

Написать программу работы с каталогом автомобилей - C++
ребята помогите пожалуйста не могу решить прогу нужно срочно....нуджно составить каталог б/у авто который должен содержать 1 марка авто 2...

Разработать программу работы с бинарным деревом - C++
Разработать программу работы с бинарным деревом. Программа должна содержать следующие процедуры, вызываемые из меню: - построение...

Разработать программу работы с двусвязным списком - C++
Разработать программу работы с двусвязным списком. Програма длжна реализовать сл. процедуры, вызываемые из меню: -построение списка...


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

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

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