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

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

Войти
Регистрация
Восстановить пароль
 
HiTT
Сообщений: n/a
#1

Массивы - C++

13.01.2011, 23:31. Просмотров 323. Ответов 5
Метки нет (Все метки)

Легкая задача, но не могу написать код. Помогите, пожалуйста, написать код программы на С
Суть заключается в том, что есть массив типа char, состоящий из цифр и букв. Необходимо произвести выборку цифр в новый массив типа int.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2011, 23:31     Массивы
Посмотрите здесь:

Упорядочить массивы по по убыванию, потом соединить массивы в один упорядоченный массив - C (СИ)
Начала писать, запуталась Даны два одномерных массива состоящие из 10 целых чисел. Упорядочить массивы по по убыванию, потом соединить...

Даны массивы A(8), F(8),Q(8). Сформировать массивы С(8), каждый элемент которого вычисляется по формуле - Pascal ABC
uses crt; type mas=array of integer; var A,F,Q,C:mas; i,s:integer; begin clrscr; writeln('Массив первый:'); for i:=1...

Даны массивы а и b. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi= -ai - Pascal
Даны массивы а и b, состоящие из n-элементов каждый. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi=...

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы - C#
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил "Запрещено создавать темы с множеством...

Массивы. Циклические алгоритмы (Заполнить массивы случайными числами, лежащими в интервале 0 до 100) - C++
Доброго дня, уважаемые форумчане, помогите пожалуйста решить задание. Заполнить массивы случайными числами, лежащими в интервале 0 до...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

Файлы. Компоненты - массивы чисел. Переформировать файл, где сначала идут массивы с положительными макс. элементами - Turbo Pascal
Здравствуйте!! я пишу такую задачу: нужно написать две программы, одна из них создает файл, где компоненты - массивы вещ. чисел; ...

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

Попадание точки. Массивы чисел. Массивы записей. - C++
Всем привет. По языкам задали три контрольные на си. Я сам си не знаю, даже не представляю, поэтому очень нужна ваша помощь. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.01.2011, 23:55     Массивы #2
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
36
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
 
int main(void){
 
  char str[32] = "dgddf45h90ttg7d";
 
  char *p = NULL ;
 
  int i, c = 0 , j = 0;
 
  for( i = 0 ; str[i]!='\0' ; i++ )
      if(isdigit(str[i]))c++;
  
  p = (char*)malloc(sizeof(char)*c+1);  
 
  for( i = 0 ; str[i]!='\0' ; i++ )
 
      if(isdigit(str[i])){ 
          p[j] = str[i];
                  j++; 
      }
      
  p[j] = '\0';
  
  printf("%s",p);
  printf("\n");
 
  free(p);
  p = NULL;
 
  system("pause");
  return 0;
}
Добавлено через 2 минуты
Сори, переписал в char буфер.

Добавлено через 7 минут
Вот перенос цифр в массив int.
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
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
 
int main(void){
 
  char str[32] = "dgddf45h90ttg7d";
 
  int *p = NULL ;
 
  int i, c = 0 , j = 0;
 
  for( i = 0 ; str[i]!='\0' ; i++ )
      if(isdigit(str[i]))c++;
  
  p = (int*)malloc(sizeof(int)*c);  
 
  for( i = 0 ; str[i]!='\0' ; i++ )
 
      if(isdigit(str[i])){ 
          
           switch(str[i]){
         case '0' : p[j] = 0; break;
             case '1' : p[j] = 1; break;
             case '2' : p[j] = 2; break;
             case '3' : p[j] = 3; break; 
         case '4' : p[j] = 4; break;
             case '5' : p[j] = 5; break;
         case '6' : p[j] = 6; break;
             case '7' : p[j] = 7; break;
         case '8' : p[j] = 8; break;
         case '9' : p[j] = 9; break;
             default : break; 
       }
           j++; 
      }
      
  for( i = 0 ; i < c ; i++ )printf("%d ",p[i]);
  printf("\n");
 
  free(p);
  p = NULL;
 
  system("pause");
  return 0;
}
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.01.2011, 00:03     Массивы #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Genius Ignat, А так не легче ?
C++
1
p[j] = str[i] - '0'
?
romedal
54 / 54 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
14.01.2011, 00:19     Массивы #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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <string.h>
using namespace std;
 
int main () {
 
       char a[100];
       char* b = new char [];
       int  j = 0;
       cin>>a;
       for (int i = 0; a[i] != '\0' ; i++) {
       if  (isdigit(a[i])){ 
        b[j] = a[i]; 
            j++;      
            }
 
       }
       b[j] = '\0';
       cout<<b;
       _getch();
return 0;
}
Добавлено через 3 минуты
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <string.h>
using namespace std;

int main () {

char a[100];
char* b = new char [];
int j = 0;
cin>>a;
for (int i = 0; a[i] != '\0' ; i++) {
if (isdigit(a[i])){
b[j] = a[i];
j++;
}

}
b[j] = '\0';
cout<<b;
_getch();
return 0;
}
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
14.01.2011, 00:21     Массивы #5
romedal,
Цитата Сообщение от HiTT Посмотреть сообщение
написать код программы на С
romedal
54 / 54 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
14.01.2011, 00:30     Массивы #6
Ну да, ну да, а ещё числа записать в массив int а не char, хе-хе
Yandex
Объявления
14.01.2011, 00:30     Массивы
Ответ Создать тему
Опции темы

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