Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2010, 12:08   #1
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
Вопрос Турбо Си. массив

Найти все двузначные числа, в записи которых есть цифра n или само число делится на n(массивы).
alex(21) вне форума Ответить с цитированием
Старый 15.09.2010, 12:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и в чем сложности?
Разложить число не умеешь или работать с массивом?
покажи как пробовал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2010, 12:39   #3
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

Цитата:
покажи как пробовал.
Код:
#include<stdio.h>
main()
{
  int mas[100],i,n;
  printf("\n vvedite n: \n");
  scanf("%d",&n);
  printf("chisla kotorie delyatsa na n: \n");
  for(i=0;i<90;i++)
  {mas[i]=10+i;
  if(mas[i]%n==0)
  printf("%d ",mas[i]);
  }
  getch();
}
но есть ещё условие:само число делится на n. как это проверить???
alex(21) вне форума Ответить с цитированием
Старый 15.09.2010, 13:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот это уже есть основание помочь доброму человеку ;
Код:
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
    int mas[100],i,n;
  printf("\n vvedite n: \n");
  scanf("%d",&n);
  printf("chisla kotorie delyatsa na n: \n");
  for(i=0;i<90;i++)  {
      if ((i/10==n)||(i%10==n)||(i%n==0))    {  
          mas[i]=i;  printf("%d ",mas[i]);
      }
  }
  system("pause");

    return 0;
}
Уловил месседж?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2010, 15:42   #5
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

компилятор Турбо Си выдаёт ошибку.
тогда можете хотя бы рассказать алгоритм решения следующего условия:
Найти все двузначные числа, в записи которых есть цифра n
alex(21) вне форума Ответить с цитированием
Старый 15.09.2010, 16:13   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выдаёт ошибку.
Прозрачными буквами на невидимом холсте? Делись грибами.
Цитата:
Найти все двузначные числа, в записи которых есть цифра n
1) Получаем целое от деления на 10
2) сравниваем его с n
3) Получаем остаток от деления на 10
4) Сравниваем
5) Если хоть одно из условий прошло - вывод на экран
6) Берем следующее число.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2010, 16:52   #7
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

вот что получилось:
Код:
#include<stdio.h>
main()
{
  int mas[100],i,n;
  printf("\n vvedite n: \n");
  scanf("%d",&n);
  printf("chisla kotorie delyatsa na n: \n");
  for(i=0;i<90;i++)
  {mas[i]=10+i;
  if((mas[i]%n==0)||(mas[i]/10==n)||(mas[i]%10==n))
  printf("%d ",mas[i]);
  }
  getch();
}
но вот что ещё, эта программа работает только для положительных чисел и я никак не могу додуматься как сделать что бы программа работала и для отрицательных чисел (т.е. что бы элементами массива являлись не только положительные числа, но и отрицательные. нужно как то изменить цикл да?ведь элементы моссиву присваиваютя как i+10.
alex(21) вне форума Ответить с цитированием
Старый 15.09.2010, 16:54   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 for(i=-90;i<90;i++)
И не забыть использовать функцию abs()
Код:
 if((abs(mas[i])%n==0)||(abs(mas[i])/10==n)||(abs(mas[i])%10==n))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2010, 17:08   #9
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

Цитата:
for(i=-90;i<90;i++)
но при таком условии он будет работать не только с двузначными числами, но и с однозначными.
alex(21) вне форума Ответить с цитированием
Старый 15.09.2010, 17:11   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но и с однозначными.
А ты условие поставь
if ( (i<-9)&&(i>9)) { то тут вычислять}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерный массив. турбо С alex(21) Помощь студентам 0 17.04.2010 18:41
турбо Си. одномерный массив alex(21) Помощь студентам 6 16.02.2010 12:14
турбо Си alex(21) Общие вопросы C/C++ 7 31.10.2009 20:07
Турбо Си Zid@ne Общие вопросы C/C++ 13 19.05.2009 13:49
Массив и процедура (Турбо Паскаль) Сэм Помощь студентам 3 10.05.2009 18:43