Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объеденение строк 
:(
    Опции темы
victor_81
Дата 10.12.2007, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Здравствуйте.Есть вот такая проблема. Читаю строку и ищу только числа. Необходимо записать две цифры идущие друг за другом сначала в переменную а затем сбросить в массив.
Как объеденить цифры если они идут как строки.
В С++ я вообще дуб расскажите пожалуйста по подробнее.
PM MAIL   Вверх
zkv
Дата 10.12.2007, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



ничего не понял, попробуем начать с примера:
Код

char str[10];
str[0] = '1';
str[1] = '2';
str[2] = '\0';
std::cout<<str; //выведет: 12

PM MAIL   Вверх
mrbrooks
Дата 10.12.2007, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Наверно victor_81 имел ввиду что в строке имеются как слова так и цифры и ему их надо вытащить из строки.
Типа как 
Код

char *str = "У дяди Пети 10 яблок а у тети Оли 5 бутылок водки";

И ему видимо нужно 10 и 5 записать в массив.

victor_81 от этого отталкиваться?
PM MAIL   Вверх
zkv
Дата 10.12.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Цитата(mrbrooks @  10.12.2007,  09:26 Найти цитируемый пост)
char *str = "У дяди Пети 10 яблок а у тети Оли 5 бутылок водки";

даже по одной этой строке можно говорить о плохом стиле  smile 
лучше так:
Код

const char *str = "У дяди Пети 10 яблок а у тети Оли 5 бутылок водки";


Это сообщение отредактировал(а) zkv - 10.12.2007, 09:30
PM MAIL   Вверх
mrbrooks
Дата 10.12.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Ну дык я же учусь на своих ошибках  smile  smile 
PM MAIL   Вверх
victor_81
Дата 10.12.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Да в строке есть как буквы так и цифры надо вытащить цифры
например если строка
У дяди Пети 10 яблок а у тети Оли 5 бутылок водки

то должно получиться массив из чисел 10 и 5

PM MAIL   Вверх
bsa
Дата 10.12.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



victor_81, а как и где массив определен? сколько всего в нем значений может быть, какой он размерности?
PM   Вверх
victor_81
Дата 10.12.2007, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Вообще читается все из файла
Я читаю по одному символу и цифры скидываю в массив char st[2];
Если нашел число то скидываю  в массив  int arrin[50]; - сюда должны записываться цифры.
Вся проблема в том что цифры 2,3 значные не заносятся в массив  arrin

Пример
В файле строка
"У дяди Пети 10 яблок а у тети Оли 5 бутылок водки ценой1234"

Должен получится массив 
arrin[0] = 10; 
arrin[1] = 5; 
arrin[2] = 1234; 

И необходимо после упорядочить или найти наибольшее

PM MAIL   Вверх
mrbrooks
Дата 10.12.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Ну вот мой плод воспаленной фантазии. Числа есть в файле. Бери их оттуда и пихай в массив.
Делал быстро. Так что я ни в чем не виноват. smile 

Код

//---------------------------------------------------------------------------
#include <iostream>
#include <stdio>
#pragma hdrstop
FILE *f;
//---------------------------------------------------------------------------
using namespace std;
#pragma argsused

int main(int argc, char* argv[])
{
char arr[10] = {'0','1','2','3','4','5','6','7','8','9'};
const char *str = "Fuck side 1078 and 5875 bich!! && 99874!!!";
int temp;
bool dostup = false;
f = fopen("fuck.txt","wt+");
        cout << str << endl;
        int i = 0;
        while (str[i]!='\0')
        {
            for (int j = 0; j<10; j++)
            {

                if(str[i] == arr[j])
                {
                        if(dostup)
                                {
                                  if (i == temp+1)
                                  {
                                  cout << str[i];
                                  fprintf(f,"%c",str[i]);
                                  temp = i;
                                  }
                                  else
                                  {
                                  cout << endl << str[i];
                                  fprintf(f,"\t%c",str[i]);
                                  temp = i;
                                  }
                                }
                        else
                                {
                                cout << str[i];
                                fprintf(f,"%c",str[i]);
                                temp = i;
                                dostup = true;
                                }
                }
            }
          i++;
        }
fclose(f);
        cin.get();
        return 0;
}
//---------------------------------------------------------------------------
 


Добавлено через 12 минут и 47 секунд
Да на всякий случай - считывание:
Код

int iarr[3];
fopen("fuck.txt","rt+");
fscanf(f,"%d%d%d",&iarr[0],&iarr[1],&iarr[2]);
cout << endl << iarr[0] << endl;
cout << iarr[1] << endl;
cout << iarr[2] << endl;
fclose(f);


PM MAIL   Вверх
victor_81
Дата 10.12.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Спасибо. Все получилось
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1376 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.