Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

подсчитать количество чисел с цифрой 9

18K
27 октября 2012 года
Chort@ka
22 / / 08.04.2007
Привет
Есть массив чисел от 0 до 89
Надо подсчитать количество чисел в которых есть цифра 9 и вывести ети числа на екран

Помогите пожалуйста
70K
27 октября 2012 года
ProkletyiPirat
76 / / 25.07.2012
в чём проблема? джаву незнаю но алгоритм такой
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' три раза...)
    }
}
18K
28 октября 2012 года
Chort@ka
22 / / 08.04.2007
Цитата: ProkletyiPirat
в чём проблема? джаву незнаю но алгоритм такой

char a[20];//20 так как в 8-и байтный int max записывается 19-и значное число


a=itoa(mas)

а что ети строки делают?




[/code]

392
28 октября 2012 года
cronya
421 / / 03.01.2009
можно сделать проще: делить число на 10 и проверять остаток от деления
на Си выглядит так


Код:
/*
        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);
    }
Вообщем алгоритм простой, на яве будет также
18K
28 октября 2012 года
Chort@ka
22 / / 08.04.2007
Вот код на яве - но ничего не показивает(((

Код:
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);
    }
392
28 октября 2012 года
cronya
421 / / 03.01.2009
а что он вам должен показывать, если массив пустой? :)
18K
28 октября 2012 года
Chort@ka
22 / / 08.04.2007
спасибо - виноват)))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог