подсчитать количество чисел с цифрой 9
Есть массив чисел от 0 до 89
Надо подсчитать количество чисел в которых есть цифра 9 и вывести ети числа на екран
Помогите пожалуйста
1.берём число Х из массива mas
2.*str=itoa(X)// переводим число в строку
3.если в строке *str есть '9' то вывести mas
Код:
//C++
int i,j,kol=0;
int mas[89];
char a[20];//20 так как в 8-и байтный int max записывается 19-и значное число
for(i=0;i<=89;i++){
a=itoa(mas[i])
for(j=0;j<=20;j++)
if(a[j] == '9'){
cout<<"\n"<<i;
kol++;
break;//выходим из цикла на первой же '9' (дабы несчитать '999' три раза...)
}
}
int i,j,kol=0;
int mas[89];
char a[20];//20 так как в 8-и байтный int max записывается 19-и значное число
for(i=0;i<=89;i++){
a=itoa(mas[i])
for(j=0;j<=20;j++)
if(a[j] == '9'){
cout<<"\n"<<i;
kol++;
break;//выходим из цикла на первой же '9' (дабы несчитать '999' три раза...)
}
}
Цитата: ProkletyiPirat
в чём проблема? джаву незнаю но алгоритм такой
char a[20];//20 так как в 8-и байтный int max записывается 19-и значное число
a=itoa(mas)
а что ети строки делают?
[/code]
char a[20];//20 так как в 8-и байтный int max записывается 19-и значное число
a=itoa(mas)
а что ети строки делают?
[/code]
на Си выглядит так
Код:
/*
Arr - указатель на массив
size - размер массива
*/
int Count = 0;//кол-во цифр которые содержат 9
int num = 0;//переменная в которое буде использоваться для проверки
//цикл прохождения по массиву
for(unsigned int idx=0;idx<size;idx++)
{
bool flag = false;//флаг, который говорит что проверка осуществляется или закончена
num = Arr[idx];//в переменную num заносим текущее число для проверки
//начала цикла проверки числа
do
{
flag = true;//флаг устанавливаем в режим проверки
int rod = num % 10;//остаток от деления
int ip = num / 10;//целая часть от деления
//если в остатке от деления есть 9
if(rod == 9)
{
flag = false;//останавливаем проверку числа
Count++;//увеличиваем счетчик
std::cout<<Arr[idx]<<" ";//выводим само число
}
//если в остатке от деления нет 9
else
{
//если целая часть от деления равна 0, число проверено
if(ip == 0)
{
//останавливаем проверку числа
flag = false;
}
//если целая часть от деления не равна 0, проверяем дальше его целую часть
else
{
num = ip;//запоминаем целую часть в переменную для проверки
}
}
}
//выполняем пока флаг установлен для проверки
while(flag);
}
Arr - указатель на массив
size - размер массива
*/
int Count = 0;//кол-во цифр которые содержат 9
int num = 0;//переменная в которое буде использоваться для проверки
//цикл прохождения по массиву
for(unsigned int idx=0;idx<size;idx++)
{
bool flag = false;//флаг, который говорит что проверка осуществляется или закончена
num = Arr[idx];//в переменную num заносим текущее число для проверки
//начала цикла проверки числа
do
{
flag = true;//флаг устанавливаем в режим проверки
int rod = num % 10;//остаток от деления
int ip = num / 10;//целая часть от деления
//если в остатке от деления есть 9
if(rod == 9)
{
flag = false;//останавливаем проверку числа
Count++;//увеличиваем счетчик
std::cout<<Arr[idx]<<" ";//выводим само число
}
//если в остатке от деления нет 9
else
{
//если целая часть от деления равна 0, число проверено
if(ip == 0)
{
//останавливаем проверку числа
flag = false;
}
//если целая часть от деления не равна 0, проверяем дальше его целую часть
else
{
num = ip;//запоминаем целую часть в переменную для проверки
}
}
}
//выполняем пока флаг установлен для проверки
while(flag);
}
Код:
public class Test3 {
public static void main(String[] args) {
int a[] = new int [100];
int i,k=0, num=0;
for (i=0;i<90;i++)
{
boolean flag = false;
num=a[i];
do
{
flag=true;
int rod = num %10;
int ip = num /10;
if (rod==9)
{
flag = false;
k++;
System.out.println("value: "+ a[i]);
}
else
{
if (ip==0)
{
flag=false;
}
else
{
num=ip;
}
}
}
while (flag);
}
System.out.println("k= "+k);
}
public static void main(String[] args) {
int a[] = new int [100];
int i,k=0, num=0;
for (i=0;i<90;i++)
{
boolean flag = false;
num=a[i];
do
{
flag=true;
int rod = num %10;
int ip = num /10;
if (rod==9)
{
flag = false;
k++;
System.out.println("value: "+ a[i]);
}
else
{
if (ip==0)
{
flag=false;
}
else
{
num=ip;
}
}
}
while (flag);
}
System.out.println("k= "+k);
}
а что он вам должен показывать, если массив пустой? :)
спасибо - виноват)))