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

Чтение строки неизвестной длины - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка изображений http://www.cyberforum.ru/cpp-beginners/thread389903.html
Здравствуйте, помогите пожалуйста с алгоритмом или написанием программы на с++. Задача такая: нужно на jpeg/bmp фотографии определить тень.
C++ Проверить, превосходят ли элементы строк матрицы заданное число ребят выручайте нужен код по этой проге срочно в универе уже ругаются((( Дано натуральное число N, вещественная матрица N x N , вещественное число x. Получить последовательность из 0 и 1 (b1,b2,...bn), где bi=1, если элементы i-той строки не превосходят x1 и b1=1,в противном случае. http://www.cyberforum.ru/cpp-beginners/thread389895.html
C++ Call of nonfunction
#include <stdio.h> #include <conio.h> #include <math.h> double eps = 1e-9; int k; //------------epsilon double ep (double x) { int i; double q,a,s; i = 0; s = a = 1;
Выведите числа в порядке возрастания C++
Отсортируйте заданный массив. Первая строка входных данных содержит количество элементов в массиве N, N ≤ 105. Далее идет N целых чисел, не превосходящих по абсолютной величине 10^9. Выведите эти числа в порядке возрастания. Пример: Входные данные: 3 2 3 1 Выходные данные: 1 2 3
C++ оператор this http://www.cyberforum.ru/cpp-beginners/thread389883.html
Прочитал раздел и с книги Стратуструпа о операторе this. но не фига не понял где его использовать его применение
C++ системы счисления!!! напишите программу пожалуйста!!! Даны действительное число x, натуральное число q (0 =< x < 1, q => 2). Получить пять цифр q-ичного представления числа x, т.е. получить последовательность целых неотрицательных a_1, ..., a_5 такую, что x = a_1*q^-1 + ...a_5*q^-5 + r, 0 =< a_i =< q-1, r < q^-5. подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
23.11.2011, 17:06     Чтение строки неизвестной длины
Цитата Сообщение от Siend Посмотреть сообщение
-=ЮрА=-, с консоли, и Сыроежка прав, можно просто указать входной поток заместо файла, но меня ломает ради простого ввода строки так извращаться. не дорос я еще до высот программирования, поэтому вариант Юры мне очень приемлем)

Добавлено через 1 минуту
Пишу вообще под линукс, и помимо этого ввода еще нужно сделать обработчик сигналов и т.п. - там много всего) поэтому усложнять не хочется)
Я вам приведу альтернативный вариант

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
#include   <stdio.h>
#include   <stdlib.h>
#include   <string.h>
#include   <conio.h>
 
int main( void )
{
   int size = BUFSIZ;
   int n = 0;
   char *s = malloc( size );
 
   while ( fgets( s, BUFSIZ, stdin ) != NULL )
   {
      char *p = strchr( s + n, '\n' );
      if ( p != NULL )
      {
         n = p - s;
         break;
      }
      size += BUFSIZ - 1;
      n     += BUFSIZ - 1;
      s = realloc( s, size );
   }
 
   s[n] = '\0';
 
   puts( s );
 
   getch();
}
Может быть я допустил опечатки при наборе текста. но тем не менее код правильный.

Преимущество этого кода по сравнению с тем, что вам предложили состоит в том, что если будет введена строка, состоящая, к примеру, из 127 символов, то вместо выделения памяти 127 раз, как это делается в первоначально предоженном вам варианте, здесь память будет выделяться только один раз. Как говорится, почувствуйте разницу.
 
Текущее время: 00:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru