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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Steam.dll
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.01.2011, 14:02     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #1
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++
C++ Работа с текстовыми файлами.
Работа с текстовыми файлами в С++ C++
Работа с текстовыми файлами C++
C++ Работа с текстовыми файлами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
 Аватар для 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
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.01.2011, 21:21  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #24
обидно. С пасибо за информацию
Steam.dll
 Аватар для 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
 Аватар для Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
25.01.2011, 22:54  [ТС]     РАБОТА С ТЕКСТОВЫМИ ДАННЫМИ #27
a cout и cin не работают без using namespace std;
MILAN
 Аватар для MILAN
883 / 777 / 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++ Работа с текстовыми файлами
C++ Работа с текстовыми данными в символьных массивах
C++ Работа с текстовыми файлами

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

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

Текущее время: 12:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru