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

Как складывать строки или символы через циклы с использованием массивов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра пятнашки при нажатии ''4'' неправильно работает http://www.cyberforum.ru/cpp-beginners/thread1156677.html
#include <cstdio> #include <Windows.h> int main(){ /////////////////резервируем память int ** MainArg =new int*; for (int i = 0;i<4;i++) MainArg=new int; ////////////заполняем массив значениями int Number = 1;
C++ Шахматная доска, найти ошибки в коде Здравствуйте, нужно вывести шахматную доску, у меня куча ошибок и я не могу никак сделать // Шахматная доска #include <graphics.h> #include <stdio.h> #include <conio.h> #define PATHTODRIVER "c: WborlandcWbgiW" // шахматная доска void doska() int xO = 100, // координаты левого верхнего угла доски уО = 100; int x,у; // координаты левого верхнего угла клетки http://www.cyberforum.ru/cpp-beginners/thread1156667.html
C++ В прямоугольной матрице определить количество столбцов, которые содержат только числа одного знака
В прямоугольной матрице определить количество столбцов,которые содержат только числа одного знака(положительные или отрицательные) и не содержат нулевых элементов
C++ Преобразования типов. Определить тип переменной
Всем привет Недавно начал изучать язык C++ по книжке "Объектно-ориентированное программирование в C++" и там есть тема (Преобразование типов) вот пример из этой темы: #include <iostream> using namespace std; int main() {
C++ Посчитать сумму четных элементов двумерной матрицы http://www.cyberforum.ru/cpp-beginners/thread1156653.html
Посчитать сумму четных элементов двумерной матрицы МхN сформировать матрицу из случайных чисел и вывести на экран
C++ Для каждого из массивов все отрицательные элементы переместить в начало массива, а все положительные — в конец Составить программу, которая превращает массивы А и В следующим образом: для каждого из них все отрицательные элементы одномерного массива переместить на начало массива, а все положительные - в конец массива с сохранением порядка следования. Инициализацию, вывод элементов массива, их обработку организовать в отдельных функциях. подробнее

Показать сообщение отдельно
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
09.06.2015, 00:31     Как складывать строки или символы через циклы с использованием массивов
Думаю нельзя записывать в область памяти где хранятся литералы. Если используете С-строки, то выделяйте под них память.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main(void)
{
    char text[256];
    char text_2[2] = "\0";
 
    strcpy(text, "sometext");
 
    while(1){
        if ((text_2[0] = getchar()) != '\n'){ 
            strcat(text, text_2);
            printf(text, '\n');
        }
    }
    return 0;
}
Добавлено через 14 минут
Или так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main(void)
{
    char* text = (char*)calloc(256, sizeof(char));
    char* text_2 = (char*)calloc(2, sizeof(char));
 
    strcpy(text, "sometext");
 
    while(1){
        if ((text_2[0] = getchar()) != '\n'){ 
            strcat(text, text_2);
            printf(text, '\n');
        }
    }
    return 0;
}
Добавлено через 5 минут
И не забывайте что С-строки должны заканчиваться нулем. Функция strcat будет копировать все содержимое памяти пока не встретит ноль. Поэтому нельзя писать:
C
1
2
3
4
            sym = getChar(); 
            if (sym){ 
                *text_2 = sym; 
            strcat(text, text_2);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru