1. Ввести целое число N. Выделить из этого числа цифры, кратные 3, и записать их в одномерный массив.
Вот задача.
Как я помню ПАСКАЛЬ..
вот вроде реализация.
А на си..пока незнаю
помогите.
A - МАССИВ ;
chislo - это string!!!!
read(chislo);
i:=1;
j:=1;
repeat
begin;
if ord(chislo[i])>=48 and ord(chislo[i])<=57 then ('Tipa proverka na ot 0 do 9')
begin
if ( ord(chislo[i]) mod 3 )= 0 then (Proverka vrode na nulevoy ostatok)
begin
a[j]:=chislo[i];
J :=j+1;
end;
end;
i:=i+1;
until i=length(chislo) or (ord(chislo[i])<=48 or ord(chislo[i])>=57;
+ концовка
вроде алгоритм очень простой.
конечно я его сдела более замухрированным))
Объясните...
как на С++ писать такую задачу..
и ещё вопрос....
В паскале перед концом можно поставить "readln;" и программа не пройдёт сразу, а будет ждать твоего нажатия клавиши.
объясните...что можно поставить в самом конце., чтобы программа, не выполнила действие сразу и не не исчесла, а дождалась хотя бы нажатия любой клавиши!
Очень помощь нужна.
пожалуйста(((
ну... как вариант.
проверяла в билдере (то есть можешь считать, что не проверяла никак )
int main(int argc, char* argv[])
{
int a, i=-1, ar[5];
cout<<"Pls, input the number"<<endl;
cin>>a;
while (a!=0){
if ((a%10)%3==0) {
i++;
ar[i]=a%10;
}
a/=10;
}
for (int j=0; j<=i; j++)
cout<<ar[j];
getch();
return 0;
}
Вообще-то вопрос поднимался буквально пару дней назад:
http://forum.pascal.net.ru/index.php?showtopic=20332
Спасибо!
А не подскажете, как остановить программу, потому что даже с return 0 она после нажатия enter ? она сразу закрывается!
Может надо что то в программе поменять?
У меня DEV-C++
А что, ей должно быть все равно - нажимаешь ты что-то или нет? Она должна висеть вечно?
В паскале если пишешь readln; а потом нажимаешь enter - тоже закрывается.
а return тут вообще не при чем.
Я в плане того....
Что я нажимаю ENTER, на микро доли секунды появляется ответ......и всё!!!
А Я хочу на него посмотреть)))
добавь еще getch();
дело в том, что он выдаёт мне ошибку на том месте...
я решил использовать....
system("pause");
...
вроде нормально работает.
теперь вопрос в другом....
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a, i=-1, ar[5];
cout<<"Pls input the number"<<endl;
cin>>a;
while (a!=0){
if ((a%10)%3==0) {
i++;
ar[i]=a%10;
}
a/=10;
}
for (int j=0; j<=i; j++)
cout<<ar[j];
system("pause");
return 0;
}