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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция на показ матрици... http://www.cyberforum.ru/cpp-beginners/thread243441.html
Здравствуйте уважаемые форумчане ... Подскажите пожалуйста почему функция ShowMatrix первый раз вызывается всё нормально работает а второй раз при вызове пишется Segmentation failure... Сообственно код... #include <iostream> #include <iomanip> #include <stdlib.h> using namespace std; void other();
C++ Действия с числами Нужно написать код на С++, к следующему: 1) посчитать сколько четных цифр у десятичного целого числа 2) упорядочены ли числа по возрастанию 3) найти минимальную цифру восьмиричного или десятичного числа 4) найти максимальный общий делитель двух или трех чисел, или массива чисел 5) найти минимальное общее кратное очень хочу разобраться в том, как это делается, спасибо заранее! http://www.cyberforum.ru/cpp-beginners/thread243410.html
C++ Определить номер столбца с наибольшей характеристикой
набросал код, о н выдаёт неверный результат. помогите найти в чём ошибка. Характеристикой столбца матрицы назовем произведение элементов с четными номерами строк. Определить номер столбца с наибольшей характеристикой // laba 9 zad 4.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> using namespace std; int _tmain()
ВопросЫ по функциям для работы со строками с++ C++
Вот я нашел большинство (если не все) стандартные функции C++ для работы со строками:memset (void*, int, size_t) - устанавливает n первых байтов в указанное значение; strcat(char*, const char*) - добавляет одну строку к другой; strchr(const char*, int) - ищет первое вхождение указанного символа в строке; strcmp(const char*, const char*) - сравнивает две строки (0 - равны строки, отрц. -...
C++ Небольшая прога по методам доступа к элементам массива http://www.cyberforum.ru/cpp-beginners/thread243378.html
Смысл такой, имеется трехмерный массив A. Данные считываются с файла(тут все верно). Хотелось бы обращаться к элементам данного массива по индексам, начинающимся не с нуля как обычно, а задать самому интервалы индексирования(A). Видимо чего-то недопонел: программа не работает. Код полностью: #include<stdio.h> #include<conio.h> #include<iostream.h> void main() { int A,
C++ нужно проверить и поставить арифметический знак между двумя числами здрасте=) помогите написать код, если мона с комментами на эту задачу: Вводится три числа. Вам нужно проверить можно ли поставить арифметический знак между двумя числами, чтобы в результате выполнения действия получилось третье. Входные данные Вводится три числа:  - 1000000000 ≤ a, b, c ≤ 1000000000. Выходные данные Выведите равенство полностью. Знаки (+ плюс, - минус, * умножить, /... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
15.02.2011, 22:14     Написать функцию, которая вставляет после каждого пробела запятую
Что если размер передаваемой строки не достаточно велик для размещения там получившейся строки?
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
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
 
void InsertComma(char *string) {
  int string_length = strlen(string);
  char *buffer = (char*)malloc(string_length + 1);
  char *source_symbol = string;
  char *destination_symbol = buffer;
  do {
    *destination_symbol++  = *source_symbol;
    if (*source_symbol == ' ') *destination_symbol++ = ',';
  } while (*source_symbol++ != '\0');
  strcpy(string, buffer);
  free(buffer);
}
 
int main(int argc, char *argv[]) {
  size_t buffer_size = 65535;
  char *buffer = (char*)malloc(buffer_size);
 
  while (!feof(stdin)) {
    if (fgets(buffer, buffer_size, stdin)) {
      size_t buffer_length = strlen(buffer);
      if (buffer_length > 0) buffer[buffer_length - 1] = '\0';
      InsertComma(buffer);
      printf("%s\n", buffer);
    }
  }
 
  free(buffer);
  return 0;
}
 
Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru