Другие языки программирования и технологии

Как сделать чтобы юзер сам записал элементы массива

Задача такая. Найти из написанной строки числа и вывести их.
Я хочу сделать так.
-Создать (1)массива с элементами от 0 до 9
-Создать (2)массив строки (строку вводит юзер)
-сверить (1)массив с (2) массив на наличие общих элементов
-вывести найденное
(может как то проще можно? и строка который вводит юзер выглядит примерно "g31jk23hj1j2h312n98gsd9"
мне надо вывести из этой строки только числа)
На каком языке программирования нужно решение?
Вот на С++.

Если необходимо просто вывести цифры во введенной пользователем строке:
#include < iostream >
#include < string >

using std::cout;
using std::endl;
using std::cin;
using std::string;

void main()
{
string str;
getline(cin, str);
cout << endl;
for (int i(0); i < str.size(); i++)
if (str[i] > 47 && str[i] < 58)
cout << str[i];
cin.ignore();
}

Если же необходимо записать эти цифры в массив и вывести, то:
#include < iostream >
#include < string >
#include < vector >

using std::cout;
using std::endl;
using std::cin;
using std::string;
using std::vector;

void main()
{
string str;
getline(cin, str);
cout << endl;
vector < char > arr;
for (int i(0); i < str.size(); i++)
if (str[i] > 47 && str[i] < 58)
arr.insert(arr.end(), (char)str[i]);
for each (char i in arr)
cout << i;
cin.ignore();
}
СМ
Саня Мурашко
2 372
Лучший ответ
uses crt;
Var g:string;
i,n,x:integer;
Begin
Readln(g);
for i:=1 to length(g) do
begin
Val(g[i],n,x);
if x=0 then Write(g[i]);
end;
End.
DD
Dimon Deshenya
95 951
решение на Turbo Pascal без массивов, только строки. Смотри так?

var Stroka, slovo:string;
i, j: integer;
begin
writeln (' введите словосочетание = ');
readln(stroka);
slovo:='0123456789';
for i:=1 to length (stroka) do
for j:=1 to length(slovo) do
if stroka[i]=slovo[j] then write (stroka[i]);
end.
Олег Петров
Олег Петров
24 309

Похожие вопросы