Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Реализовать функцию "Concat"


Автор: dimmon123 4.11.2012, 14:47
Задание:  Реализовать функцию "Concat", выполняющюю "сложение строк" - принимающую на вход две строки и записывающую в глобальную переменную строку, полученную путем добавления второй строки в конец первой строки. Реализовать программу, позволяющую пользователю ввести две строки и выводящую на экран сами введенные строки и их "сумму".
Для хранения строк используйте массивы из 20 элементов типа char.
Вот код
Код


#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "math.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include "algorithm"
#include "iostream"



int _tmain(int argc, _TCHAR* argv[])
{
    void concat (char str1[20], char str2[20]);

    system("cls");
    char str1[20]; 
    char str2[20]; 
    char str3[40]; 
    printf ("Enter first string: ");
            //fflush(stdin);
            gets_s(str1,20);
            printf ("Enter second string: ");
            //fflush(stdin);
            gets_s(str2,20);
            concat (str1,str2);
            printf ("%s + %s = %s", str1,str2,str3);
            _getch();
    int size_array = sizeof(str3); 
    int length = 0; 
    while(length < size_array && str3[length] != '\0') length++; 
    printf("String length = %d.\n",length);
    printf("\n\nString - %s",str3);
    _getch();
    return 0;
}


что код не срабатывает?

Автор: baldina 4.11.2012, 15:03
а в чем вопрос к нам?
а к вам вопрос и замечание: 
- какие у вас мысли по реализации concat?
- у вас массив (строка) str3, в которую должен попасть результат, не глобальная. это противоречит условию.

Автор: dimmon123 4.11.2012, 15:11
Цитата(baldina @  4.11.2012,  15:03 Найти цитируемый пост)
- какие у вас мысли по реализации concat?

да немного не понял как сделать чтобы складывались 2 строки..

Цитата(baldina @  4.11.2012,  15:03 Найти цитируемый пост)
у вас массив (строка) str3, в которую должен попасть результат, не глобальная. это противоречит условию.

а как ее глобальной сделать?

помогите разобраться с concat))

Автор: baldina 4.11.2012, 15:51
Цитата(dimmon123 @  4.11.2012,  15:11 Найти цитируемый пост)
а как ее глобальной сделать?

вынести за пределы main()

Цитата(dimmon123 @  4.11.2012,  15:11 Найти цитируемый пост)
да немного не понял как сделать чтобы складывались 2 строки..

в цикле скопировать символы из первой строки, потом символы из второй строки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)