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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Классы в C++. Переворот дроби. http://www.cyberforum.ru/cpp-beginners/thread537816.html
Есть задачку не могу сделать помогите , нужно написать класс по такому принципу #include <iostream> using namespace std; class rational { private: int a; int b; public: // default constructor
C++ Найти студентов, общий балл которых отличается не более чем на 2 балла от максимального общего балла Даны сведения о результатах сессии: ФИО студента, названия четырех предметов и оценки, полученные по каждому предмету.Требуется вывести фамилии студентов, общий балл которых отличается не более чем на 2 балла от максимального общего балла. http://www.cyberforum.ru/cpp-beginners/thread537812.html
C++ задача построить натуральное число
Дано натуральное число N (N<=100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2 в степени N . Входные данные: в единственной строке задаётся число N (1<=N<=100). Выходные данные: одно число из N цифр. Примечание: стандартный целый тип позволяет хранить целые числа до 2 в степени 31.
C++ Отличия фортрана и С++
Здравствуйте!У меня стоит задача перевода с фортрана на с++!подскажи плиз как переменные такого типа будут обьявляться в С++ COMPLEX X,CXCS,HOLD,XA и что делает такой оператор EQUIVALENCE (CXCS,CS)
C++ Найти произведение и сумму элементов массива http://www.cyberforum.ru/cpp-beginners/thread537664.html
В одномерном массиве , состоящем из N целых элементов, вычислить: 1) произведение элементов массива с четными номерами; 2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
C++ Написать программу удаления заданного числового значения из массива объединений Написать программу удаления заданного числового значения из массива объединений подробнее

Показать сообщение отдельно
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249
03.04.2012, 16:37     Осуществить ввод с клавиатуры в символьный массив со всеми пробелами, знаками препинания и т.д.
1) Как осуществить ввод с клавиатуры в символьный массив со всеми пробелами, знаками препинания и т.д.?
2) И еще вопрос есть такой. Пытаюсь ввести данные из файла при помощи input.getline(string, size);, но компилятор уже когда надо выводить информацию на экран вместо всего, что надо выдает "Segmentation fault"(см. вложения). Что это такое и как от этого избавиться? Причем, если я строку сразу в массиве задаю или ввожу с клавиатуры(получается, что если не расправлюсь с 1) вопросом, то будет вводить с клавиатуры по одному слову), то программа работает. Далее привожу коды программы в рабочем состоянии и нерабочем. Ах да, и пришу в Geany под Ubuntu 10.04.

Рабочий:
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
35
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
 
int main()
{
    unsigned int size = 256;
    char string[] = "String in array", *e;
    unsigned int s = 0, c = 0;  
    ifstream input_a("/media/wind/forlabs/2_sem/l2/alfavit.txt");
    while(!input_a.eof())
    {
        input_a >> e;
        while(1)
        {
            s = strcspn(string, e);
            if(s != strlen(string))
            {
                string[s] = '+';
                c++;
            }
            else
            {
                s = 0;  
                break;
            }
        }
    if(c == 0)
        continue;
    cout << "Cимвол " << e << " встречается в строке " << c << " раз." <<endl;
    s = 0;
    c = 0;
    }
}
И так не работает:
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
35
36
37
38
39
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
 
int main()
{
    unsigned int size = 256;
    char string[size], *e;
    unsigned int s = 0, c = 0;  
    ifstream input_a("/media/wind/forlabs/2_sem/l2/alfavit.txt");
    ifstream input_s("/media/wind/forlabs/2_sem/l2/input.txt");
    if(input_a.bad() || input_s.bad())
        cout << "Файлы нерабочие, наверно!" << endl;
    input_s.getline(string, size);
    while(!input_a.eof())
    {
        input_a >> e;
        while(1)
        {
            s = strcspn(string, e);
            if(s != strlen(string))
            {
                string[s] = '+';
                c++;
            }
            else
            {
                s = 0;  
                break;
            }
        }
    if(c == 0)
        continue;
    cout << "Cимвол " << e << " встречается в строке " << c << " раз." <<endl;
    s = 0;
    c = 0;
    }
}
Заранее всем откликнувшимся спасибо
Миниатюры
Осуществить ввод с клавиатуры в символьный массив со всеми пробелами, знаками препинания и т.д.  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru