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

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

Войти
Регистрация
Восстановить пароль
 
madbounce
1 / 1 / 0
Регистрация: 20.04.2012
Сообщений: 24
#1

Преобразовать строку в массив - C++

02.06.2013, 21:47. Просмотров 308. Ответов 0
Метки нет (Все метки)

Всем привет. Очень нужна помощь, голову уже сломал. Ситуация следующая. Есть строка
C++
1
2
3
4
5
6
7
8
9
10
11
12
char* stroka; 
stroka=(char*)fp["v"].c_str();  
int len=strlen(stroka); 
for(int i=0;i<len;++i) {
    if (stroka[i]=='V'){
    stroka[i]=' ';
    }
    if (stroka[i]=='+'){
    stroka[i]=' ';
    }
}
    std::cout<<stroka;
Строка эта выдает следующие значения :
-1.59222100115343 1.48241265624629 -0.713754241896364 0.603945896989231 -0.274520862267832 -0.968246360603992 -0.968246360603992 -0.968246360603992 -0.968246360603992 -0.968246360603992

И есть структура
C++
1
2
3
4
5
6
7
8
double z[] = {        // Исходные данные
-1.59222100115343, 1.48241265624629, -0.713754241896364, 0.603945896989231, -0.274520862267832, -0.968246360603992, -0.968246360603992, -0.968246360603992, -0.968246360603992, -0.968246360603992
},
         *data1,        // Корреляционная матрица
        *data2,        // Редуцированная корреляционная матрица
        *t,            // Матрица факторного отображения
        *s,            // Дисперсии
        buf;           // Рабочая переменная
Так вот суть в том что нужно в строке те значения которые нужно подставить в double z.
То есть что бы было : double z[] = { здесь должна быть stroka }
Пробовал, делал, писал что-то подобное :
C++
1
2
3
4
5
6
7
8
9
10
11
const int MAX_NUMBERS = 1000;
double z[MAX_NUMBERS],
         *data1,        // Корреляционная матрица
        *data2,        // Редуцированная корреляционная матрица
        *t,            // Матрица факторного отображения
        *s,            // Дисперсии
        buf;           // Рабочая переменная
for (int i = 0; i < MAX_NUMBERS; i++) {
   int res = sscanf(stroka, "%lf",&z[i]);
   if (res == EOF) return;
}
Ничего не получилось, кто может подскажите пожалуйста

Добавлено через 24 минуты
UPD:
Вот сейчас еще сделал динамический массив, но проблему заполнения так и не могу решить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
counter_word=0;
    for (i=0;i<strlen(stroka)-1;i++)
 if ((stroka[i]==' ') && (stroka[i+1]!=' '))
  counter_word=counter_word+1;
if (stroka[0]!=' ')
    counter_word=counter_word+1;
//cout<<"В строке: "<<counter_word<<" слов";
 
 
 
 
    //const int MAX_NUMBERS = 10;
 
double *z = new double [counter_word],
            *data1,        // Корреляционная матрица
        *data2,        // Редуцированная корреляционная матрица
        *t,            // Матрица факторного отображения
        *s,            // Дисперсии
        buf;           // Рабочая переменная
for (int i = 0; i < counter_word; i++) {
   int res = sscanf(stroka, "%lf",&z[i]);
   if (res == EOF) return;
}
Добавлено через 1 час 49 минут
Как я понял запара по-моему в sscanf. Кто что может посоветовать пожалуйста помогите решить проблему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 21:47     Преобразовать строку в массив
Посмотрите здесь:

Массив строк преобразовать в строку - C++
как преобразовать массив строк в строку через разделитель, то есть дано: &quot;строка1&quot; &quot;строка2&quot; &quot;строка3&quot; а нужно получить &quot;строка1,...

ПреобразоваТЬ строку символов в массив - C++
#include &lt;cstdio&gt; #include &lt;cctype&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &quot;QTime&quot; void stuToArr(char s, int ar,...

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

Как преобразовать строку в массив чисел? - C++
символы вводятся через пробел. Программа сканирует только до пробела и делит цифру на числа. Как сделать чтобы оно сканировало цифры...

Преобразовать массив цифр в строку для вывода на cout<< - C++
Реализую класс длинных чисел (только+). Числа представляю в виде массиве, где каждый элемент это цифра. Но не могу понять, как его...

Как строку, заполненную числами, преобразовать в числовой массив? - C++
Привет всем. Кто-нибудь знает как строку заполненную числами преобразовать в числовой массив? Сама смогла найти только как с помощью...

Корректно преобразовать массив кодов символов в строку string - C++
Здравствуйте уважаемые Гуру! Понадобилось обмениваться зашифрованными строками между php и С++ Нашел абсолютно рабочий алгоритм RC4...

Преобразовать двумерный массив в одномерный, удаляя каждую вторую строку - C++
Подскажите пожалуйста как 2D массив преобразовать в 1D, при этом удаляя каждую 2рую строку. Прилагаю свой вариант кода... Мб подскажите...

Как правильно преобразовать строку символов в строку типа CComBSTR? - C++
Как правильно преобразовать строку символов (например заданную как char p)в строку типа CComBSTR?

Преобразовать строку из файла, содержащую запись десятичного числа, в строку с двоичным числом - C++
Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа. И...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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