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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2012, 10:38   #1
maxwel6064
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 28
По умолчанию Ошибка в программе на C. Кто может помочь найти?

Добрый день. Может кто может помочь найти ошибку в моей программе, которая написана на языке C. Заранее спасибо.
Вот код самой программы:
Код:
#include <stdio.h>
#include <stdlib.h>
int main()
{
  int i,a,b,ab,atbul;
  for (i=10;i<=99;i++);
  {
  a=i/10;
  b=i%10;
  ab=a*b;
  atbul=b*a;
  if (a!=b)
  {
  if (ab==atbul)
              printf("%d\n",i);
              
  }  
  }     
  
system("pause");    
return 0;    
    
}
maxwel6064 вне форума Ответить с цитированием
Старый 21.09.2012, 10:56   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

1. Что, собственно, эта программа делает?
2. Какую ошибку выдает?
3. a*b=b*a, поэтому откройте мне тайный сакральный смысл этой записи:

Код:
  ab=a*b;
  atbul=b*a;

  ...

  if (ab==atbul)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 21.09.2012, 11:01   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Во-первых, скажите условие.
В данный момент программа делает вот что:
Код:
#include <stdio.h>
#include <stdlib.h>

int
main(void)
{
    int i = 100, a = i / 10, b = i % 10, ab a * b, atbul = b * a;
    if (a != b && ab == atbul) {
        printf("%d\n", i);
    }
    system("pause");    
    return 0; 
}
Наверно, нужно вот это:
Код:
#include <stdio.h>
#include <stdlib.h>

int
main(void)
{
    int i, a, b, ab, atbul;
    for (i = 10; i <= 99; i++) {
        a = i / 10;
        b = i % 10;
        ab = a * b;
        atbul = b * a;
        if (a != b && ab == atbul) {
            printf("%d\n", i);
        }  
    }   
    system("pause");    
    return 0; 
}
Правда, смысла в проверке ab == atbul я не вижу.

Окончательный вариант:
Код:
#include <stdio.h>
#include <stdlib.h>

int
main(void)
{
    int i, a, b;
    for (i = 10; i < 100; ++i) {
        a = i / 10;
        b = i % 10;
        if (a != b) {
            printf("%d\n", i);
        }  
    }   
    system("pause");    
    return 0; 
}
Без условия ничего больше сказать нельзя.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 21.09.2012 в 11:06.
BDA вне форума Ответить с цитированием
Старый 21.09.2012, 11:33   #4
maxwel6064
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 28
По умолчанию

Прошу прощения, забыл написать условие задачи:
Написать программу, которая найдет все пары двухзначных натуральных чисел, у которых произведение обоих чисел равно такому же произведению чисел, написанному в обратном порядке.. Пары чисел, у которых число составлено из одинаковых цифр печатать не нужно (11,22...)
maxwel6064 вне форума Ответить с цитированием
Старый 21.09.2012, 11:40   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Типа: дано число ab, найти число cd такое, что ab*cd=efgh=hgfe?

(a..h - это цифры, разряды чисел, не путать)

Тогда у Вас все неправильно, начиная от понимания самой задачи
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 21.09.2012 в 12:03.
Sciv вне форума Ответить с цитированием
Старый 21.09.2012, 14:53   #6
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Типа: дано число ab, найти число cd такое, что ab*cd=efgh=hgfe?

(a..h - это цифры, разряды чисел, не путать)

Тогда у Вас все неправильно, начиная от понимания самой задачи
Видимо, все же, вот так:

ab * cd = ba * dc

В таком случае, как-то так:
Код:
#include <stdio.h>

int main()
{
    int number1, number2, ones1, tens1, ones2, tens2;
    for (number1 = 10; number1 < 98; number1++)
    {
        ones1 = number1 % 10;
        tens1 = number1 / 10;
        for (number2 = number1 + 1; number2 < 99; number2++)
        {
            ones2 = number2 % 10;
            tens2 = number2 / 10;
            if(((ones1 != tens1) && (ones2 != tens2))           // числа вида 11, 22...
              && ((ones1 != tens2) && (ones2 != tens1))         // пары "палиндромов" 12 - 21, 35 - 53 ...
              && ((number1 * number2) == ((ones1 * 10 + tens1) * (ones2 * 10 + tens2)))) 
                printf("%d -- %d\n", number1, number2);
        }
    }
    return 0;
}
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 21.09.2012 в 15:23.
Mandrivnyk вне форума Ответить с цитированием
Старый 21.09.2012, 18:51   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Видимо, все же, вот так:

ab * cd = ba * dc

Однако тогда вот эту фразу надо переформулировать:

Цитата:
произведение обоих чисел равно такому же произведению чисел, написанному в обратном порядке..
в такое:

Код:
произведение обоих чисел равно произведению таких же чисел, написаннЫХ в обратном порядке..
Либо изначальная формулировка хромает, либо её пересказ...


ЗЫ. Прошу модсостав извинить за нестандартное использование тега CODE
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где и как скачать программу Delphi. Может кто нибудь может помочь мне - без скачивания из интернета. IZOPGRAM Общие вопросы Delphi 4 16.06.2012 18:12
Кто может помочь? Bukharov11 Общие вопросы C/C++ 0 09.06.2012 13:35
кто может помочь Artem2233 Паскаль, Turbo Pascal, PascalABC.NET 1 16.05.2012 17:57
Кто может помочь..... teres C++ Builder 1 18.03.2011 17:59