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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
vasim3
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 11
#1

Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки - C++

02.11.2010, 00:01. Просмотров 1566. Ответов 9
Метки нет (Все метки)

Ребята помогите пожалуйста с прогой оч нужно, а то я сама не могу собразить полностью и как начать
Вот само задание:
"Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки."
Алгоритм действий понимаю, а вот записать не получается! Помогите кто может мне непонятливой, оч нужно, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2010, 00:01     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки
Посмотрите здесь:

Разместить текст первой строки по центру второй строки - C++
1) Функция копирует строку в другую строку заданной длины и размещает текст первой строки по центру второй строки.

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

Какая функция копирует содержимое строки f в строку t? - C++
Какая функция копирует содержимое строки f в строку t?

Приписать второе слово второй строки к первой, развернуть первую строку - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать второе слово второй строки к первой. Поменять порядок следования...

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

Ввести строку, создать вторую строку в два раза больше, в которую записать симболы первой строки - C++
Ввести с клавиатуры строку симболов (до 20 симболов), динамически создать вторую строку в два раза больше чем введенная первая строка, в...

Добавлять в исходную строку заданной длины новые строки, пока не будет превышен размер исходной строки - C++
Описать строку из 50 символов. В цикле запрашивать у пользователя строки длиной до 10 символов и добавлять их к исходной до тех пор, пока...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
02.11.2010, 12:02     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #2
C
1
2
3
4
5
6
7
8
9
10
11
bool F(char *sour, char *targ, int lent)
// sour - исходная строка, targ - целевая строка, lent - ее длина
{ int lens;
    lens = strlen(sour);
    if (lens >= lent) return false;  // не получается
    memset(targ, ' ', lent-1);  // заполняем targ пробелами
    targ[lent-1] = '\0';
    k = (lent-lens) / 2;
    memcpy(targ+k, sour, lens); // последний штрих
    return true;
}
vasim3
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 11
02.11.2010, 21:44  [ТС]     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #3
Большое спасибо!!!!!!!!!!!)))))))))
А какие еще есть варианты решения ( на C++ )?
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
02.11.2010, 22:58     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #4
Может я что-то недопонял?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstring>
 using namespace std;
 
 void Func(char src[6], char target[15])
 {
int len = strlen(src);
strcpy(target,src); // копируем исходную строку в результат (string)
target[len/2] = '\0'; // половину обрезаем (str)
strcat(target,src); // присоединяем к результату исходную строку(strstring)
char * pch = src+(len/2); // это указатель на вторую половину исходной строки(ing)
strcat(target,pch); // присоединяем эту половинку (strstringing)
 }
 
int main() {
char src[] = "string", target[15];
Func(src,target);
puts(target);
 
   system("pause");
   return 0;
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
02.11.2010, 23:08     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #5
Цитата Сообщение от vasim3 Посмотреть сообщение
А какие еще есть варианты решения ( на C++ )?
C++
1
2
3
4
5
    string a("0123456789");
    cout<<a;
    string b("abc");
    a.insert(a.size()/2,b);
    cout<<endl<<a;
vasim3
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 11
03.11.2010, 21:16  [ТС]     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #6
Спасибо всем за решения, но появилось новое условие к задачи программа пожно быть написана по такому агоритму:
1.Подсчитать количество символов в обеих строках
2. Создать строку на то копичество сколько подсчитано
3. Записать половину первой строки в результат
4. Записать вставляемую строку
5. Записать вторую половину

Пожалуста помогите его записать на С++! Зарание спасибо!
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
03.11.2010, 21:21     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 using namespace std;
 
int main()
{
   char str1[] = "Hello world";
   char str2[] = ",beautiful";
 
   int len1 = strlen(str1); // длина str1(11)
   int len2 = strlen(str2); // длина str2(10)
char * str3 = new char[len1+len2]; // новая динамическая строка
strncpy(str3,str1,len1/2); // коппируем в str3 первую половинку str1
str3[len1/2] = '\0'; // обрываем строку после 5-го символа(Hello)
strcat(str3,str2); // присоединяем к Hello ,beautiful
str3[(len1/2)+len2] = '\0'; // обрываем строку после beautiful
char * p = str1+(len1/2); // указатель указывает на вторую половину str1(world)
strcat(str3,p); // присоединяем слово world к результату
puts(str3);
        
    system("pause");
}
vasim3
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 11
04.11.2010, 20:35  [ТС]     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #8
Цитата Сообщение от NikolaWhite Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 using namespace std;
 
int main()
{
   char str1[] = "Hello world";
   char str2[] = ",beautiful";
 
   int len1 = strlen(str1); // длина str1(11)
   int len2 = strlen(str2); // длина str2(10)
char * str3 = new char[len1+len2]; // новая динамическая строка
strncpy(str3,str1,len1/2); // коппируем в str3 первую половинку str1
str3[len1/2] = '\0'; // обрываем строку после 5-го символа(Hello)
strcat(str3,str2); // присоединяем к Hello ,beautiful
str3[(len1/2)+len2] = '\0'; // обрываем строку после beautiful
char * p = str1+(len1/2); // указатель указывает на вторую половину str1(world)
strcat(str3,p); // присоединяем слово world к результату
puts(str3);
        
    system("pause");
}
При компиляции выдает какие ошибки:
Info :Compiling C:\Documents and Settings\Администратор\Рабочий стол\NONAME00.CPP
Error: NONAME00.CPP(3,16):Namespace name expected
Error: NONAME00.CPP(19,6):Call to undefined function 'puts'
Error: NONAME00.CPP(21,16):Statement missing ;
Как их исправит? Подскажите пожалуйста! Зарание спасибо!
Миниатюры
Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки  
vasim3
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 11
10.11.2010, 17:45  [ТС]     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #9
Так может кто то знает в чем ошибка! Плиз оч надо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2010, 21:33     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки
Еще ссылки по теме:

Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк - C++
Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк.

Функция strcpy() не копирует строку - C++
Функция strcpy() не копирует строку //--------------------------------------------------------------------------- #pragma hdrstop ...

Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что копирование было успешным - C++
Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что копирование было успешным. Если места для...

Дописать в конец символьной строки другую строку - C++
Здравствуйте, создаю массив char szDisplayName; подскажите пожалуйста, как мне дописать слово после последнего символа в массиве ?

Можно ли из букв одной строки составить другую строку? - C++
надо проверить, можно ли из первой строки, что мы вводим с клавиатуры, составить слово (строка2), программа не учитывает пробелы, может кто...


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

Или воспользуйтесь поиском по форуму:
vasim3
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 11
26.11.2010, 21:33  [ТС]     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки #10
Приветик ребяточки! А могут быль еще какие то варианы решения этой задачи? Может кто знает напишите! Зарание спасибо!
Yandex
Объявления
26.11.2010, 21:33     Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки
Ответ Создать тему
Опции темы

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