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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
#1

РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ - C++

23.01.2011, 14:02. Просмотров 1647. Ответов 28
Метки нет (Все метки)

1 Написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей.
2 Если в строке пробелов меньше, чем цифр, удвоить каждый пробел.
Вот с первым заданием я справился там очень легко , а вот как отличить пробел от цифр и как узнать их количество незнаюнезнаю и как удвоить его тоже.
вот 1 задание помогите сделать дальше
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <string.h>
int main(void)
{
    char str[100];
    gets(str);
    printf("%s", str);
    printf("\n");
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 14:02     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ
Посмотрите здесь:

Работа с текстовыми данными в символьных массивах - C++
Помогите написать программу с помощью строки: В строке символов длиной 50 выявить дублирование букв и выдать их на экран

Работа с текстовыми файлами - C++
Дан текстовый файл. Напечатать все строки, длина которых равна данному числу.

Работа с текстовыми файлами - C++
Я пишу свой календарь,и у меня задание считать из текстового файла .txt информацию.В текстовом файле записана дата в формате day.month.year...

Работа с текстовыми файлами. - C++
Здравствуйте)) Не могли бы Вы мне помочь с такой задачей:создать текстовый файл. Найти номер самой длинной строки. Создавать файлы я...

C++ работа с текстовыми файлами - C++
Доброго времени суток. Делал программу, но столкнулся с некоторыми трудностями. у меня в текстовом файле записано 6 цифр, и из него в...

Работа с текстовыми файлами в С++ - C++
Каким образом можно организовать эту программу, в частности определение цифры и латинской буквы и их распределение по файлам. Чот в тупике...

Работа с текстовыми файлами - C++
Люди добрые кто может подскажите)) Задание: Дан текстовый файл, проставить пробелы после знаков препинания &quot;,.?!&quot; если он отсутствует,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.01.2011, 16:15     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #16
igorrr37, а если длина вводимой строки неизвестна (и может быть больше сотни)?
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
23.01.2011, 16:19     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #17
>если длина вводимой строки неизвестна
тогда динамический массив
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.01.2011, 16:32     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #18
igorrr37, какого размера?
Можно пример?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
23.01.2011, 16:45     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #19
Цитата Сообщение от igorrr37 Посмотреть сообщение
>если длина вводимой строки неизвестна
тогда динамический массив
если можно пример, как определить длину введенной строки и записать в дин.массив, не используя класс string
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.01.2011, 18:09  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #20
Спасибо всем за помощь я разобрался.

Добавлено через 4 минуты
А динамический масив это масив под который мы выделяем память когда нам надо?
И в программе
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>
using namespace std;
 
int main()
{
    char c[100]={'\0'};
    char d[100]={'\0'};
    cin.getline(c, sizeof(c));
    int probelov=0, zifri=0;
    for(char *a=c; *a!='\0'; a++)
    {
        if(*a==' ')
        {
            ++probelov;
        }
            
        if(isdigit(*a))
        {
            ++zifri;
        }
    }
    printf("probelov=%d\n",probelov);
    printf("zifri=%d\n", zifri);
    if(probelov<zifri)
    {
        for(char* a=c, *b=d; (*b=*a)!='\0'; a++, b++)
        {
            if(*a==' ')
            { 
                *(++b)=' ';
            }
        }
    }
    printf("TEXT-->   %s\n",d);
}
Я её по своему по колхозному переписал.
когда массив
C++
1
char *a
он со звёздочкой значит это одномерный динамический массив?
тогда сколько данных можно ввести также 100? или больше я пробивал программа после гдето 30 не фурычит.
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.01.2011, 18:15     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #21
Цитата Сообщение от Steam.dll Посмотреть сообщение
он со звёздочкой значит это одномерный динамический массив?
нет
это просто указатель, который указывает неизвестно куда

C++
1
2
3
4
char ch ;// элемент типа char
char a[10] ;//одномерный массив элементов типа char
char * p ;//указатель на элемент типа char
char * pp=new char[10];//указатель, который хранит адрес первого элемента одномерного динамического массива элементов типа char
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.01.2011, 20:06  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #22
А как выглядит двумерный массив?

Добавлено через 4 минуты
он также как и обычный динамический массив
C++
1
2
3
4
5
6
unsigned char **a;
a=new char*[10];
for(i=0;i<=9;i++)
{
   a[i]=new char[10];
}

?
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.01.2011, 20:27     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #23
Steam.dll,
так выглядит
C++
1
2
ar[10][10]; //двумерный
ar1[10][10][10];//3-мерный и т.д.
но с динамикой такое не проходит,
поэтому приходится создавать массив указателей, где каждый указатель указывает на свой одномерный массив(как у вас сделано в посте выше).
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.01.2011, 21:21  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #24
обидно. С пасибо за информацию
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
25.01.2011, 21:44  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #25
А вот в програме
C++
1
2
#include <iostream>
[CPP]using namespace std;
int main()
{
char c[100]={'\0'};
char d[100]={'\0'};
cin.getline(c, sizeof(c));
int probelov=0, zifri=0;
for(char *a=c; *a!='\0'; a++)
{
if(*a==' ')
{
++probelov;
}

if(isdigit(*a))
{
++zifri;
}
}
printf("probelov=%d\n",probelov);
printf("zifri=%d\n", zifri);
if(probelov<zifri)
{
for(char* a=c, *b=d; (*b=*a)!='\0'; a++, b++)
{
if(*a==' ')
{
*(++b)=' ';
}
}
}
printf("TEXT--> %s\n",d);
}[/CPP]
что значит
C++
1
2
3
using namespace std;
 
иchar c[100]={'\0'};  именно вот это  '\0'
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
25.01.2011, 22:14     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #26
Steam.dll,
1.Юзаем пространство имен std.
чтобы в коде можно было писать cout<<"Hi!";
вместо std::cout<<"Hi";
2.Управляющий символ, служит признаком конца строки и не только...
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
25.01.2011, 22:54  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #27
a cout и cin не работают без using namespace std;
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
25.01.2011, 23:27     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #28
Цитата Сообщение от Steam.dll Посмотреть сообщение
a cout и cin не работают без using namespace std;
Вам же написали, что вот так работает

C++
1
std::cin>>n;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2011, 23:56     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ
Еще ссылки по теме:

Работа с текстовыми файлами - C++
Доброго времени суток. Есть ф-ия: void FillM(int **&amp;tab, int &amp;w, int &amp;h) { FILE *f; if((f=fopen(&quot;input.txt&quot;,&quot;r&quot;))==NULL) { ...

Работа с текстовыми файлами - C++
Дан файл f компонентами которого являются целые числа.В файл g переписать все неположительные компонетны f кратные 8.

Работа с текстовыми файлами - C++
Есть программа, которая считывает массив структур с текстового файла, выполняет сортировку и результат выводит в другой текстовый файл, но...

Работа с текстовыми файлами - C++
Здравствуйте. Сегодня писал программу, в которой нужно считать строки из файла и записать их в новый файл но в обратном порядке, и...

С++ работа с текстовыми файлами - C++
Здравствуйте. Я только начинаю знакомиться с средой C++, учусь работать с файлами, самое базовое типа ввода и вывода данных. Так вот, может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
25.01.2011, 23:56  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #29
Спасибо теперь точно разобрался
Yandex
Объявления
25.01.2011, 23:56     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru