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

Выделить числа из строки и разместить в массив - C++

Восстановить пароль Регистрация
 
Tamada
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 13
17.05.2012, 12:00     Выделить числа из строки и разместить в массив #1
Само задание :
Во введенной пользователем строке могут содержаться слова и целые числа, разделенные пробелами. Выделить из нее числа и разместить их в отдельный числовой массив без дублирования.
Вот мой код:
В чем заключается моя ошибка?
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
{
char str[100],str2[100];
int i,n,k,j=0;
gets(str);
n=strlen(str);
for(i=0;i<n;i++)
{
    if(isdigit(str[i]))
    {
        for (k=0;k<i;k++)
        {
            if(str[i] == str[k])  break;
            else 
            {
                str2[j] = str[i];
                j++;
            }
        }
        printf("%c", str2[j]);
    }
}
getch();
  return 0;
}
Ps , простите что не в определнном форуме для си, просто тут быстрее помощь придет думаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 12:00     Выделить числа из строки и разместить в массив
Посмотрите здесь:

Как из одной строки выделить три числа C++
Строки. Выделить подстроку, которая соответствует записи целого числа. C++
Массив: Разместить строки матрицы по возрастанию значений первых элементов строк. C++
C++ Выделить из строки числа и записать в массив
Алгоритм. Выделить из строки все вещественные числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
17.05.2012, 12:07     Выделить числа из строки и разместить в массив #2
Так числа или цифры? Тут вам скорей всего нужно использовать strtok, для разбивки на лексемы, так как сказано, что слова и числа ( не цифры ) разделены пробелами. Нужно не цифры записывать, а именно числа.
Tamada
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 13
17.05.2012, 12:12  [ТС]     Выделить числа из строки и разместить в массив #3
Нужны числа, но не нужно на лексемы их делить
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
17.05.2012, 12:26     Выделить числа из строки и разместить в массив #4
C
1
2
3
4
5
6
7
8
9
10
11
12
char str[100], str2[ 100 ];
int i, j;
 
for ( i = 0, j = 0; i < n; i++ ) {
   if ( isdigit( str[ i ])) {
      for ( i < n && isdigit( str[ i ]); i++, j++ )
         str2[ j ] = str1[ i ] ;
 
      str2[ j ] = ' ';
      j++;
   }
}
Добавлено через 28 секунд
Цитата Сообщение от Tamada Посмотреть сообщение
Нужны числа, но не нужно на лексемы их делить
Зачем же Вы тогда сравниваете цифры?
Tamada
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 13
17.05.2012, 12:28  [ТС]     Выделить числа из строки и разместить в массив #5
Чтобы проверить их на совпадения, если они совпадают то не выписывать 2 раз, например asd12332 Ответ 123
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
17.05.2012, 12:42     Выделить числа из строки и разместить в массив #6
Перечитайте задание. Вам нужны числа, а не цифры. К тому же в задании сказано, что слова и числа должны быть разделены пробелами. Тестовая строка должна иметь примерно такой вид:
"Asdfgh 123 321 456 123"
должны быть переписаны числа 123 321 456. Не путайте число и цифру.

Добавлено через 6 минут
К тому же, как мне кажется, 2 массив должен иметь тип int а не char.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2012, 12:45     Выделить числа из строки и разместить в массив
Еще ссылки по теме:

Выделить из строки числа (только целые) и поместить их в массив по возрастанию C++
Выделить числа из строки C++
Выделить в другой массив все числа, которые встречаются более одного раза в исходном C++

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

Или воспользуйтесь поиском по форуму:
Tamada
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 13
17.05.2012, 12:45  [ТС]     Выделить числа из строки и разместить в массив #7
хм. благодарю.
Yandex
Объявления
17.05.2012, 12:45     Выделить числа из строки и разместить в массив
Ответ Создать тему
Опции темы

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