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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2012, 14:38   #1
sw1epe
Новичок
Джуниор
 
Регистрация: 16.03.2012
Сообщений: 1
По умолчанию В чем дело?

/*Дано большое десятичное число до 1000 знаков, найти критерий делимости на число 197 и проверить
исходное большое число на делимость по разработанному критерию. Исходное большое число реализовать в виде массива байт, начало массива -
младшие разряды числа, ограничитель числа сверху - значение -1, реализовать возможность ввода большого числа с клавиатуры.
Результат проверки на делимость вывести на экран вместе с исходным большим числом и его потенциальным делителем.*/

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
const int M = 197;

int _tmain(int argc, _TCHAR* argv[])
{
char chislo[1001];
int ostatki[M];
int i=0, j, k=0;
char ch;
int summa;

printf ("Intup Number\t"); //считывание числа

/*ch=getch();*/
while ((ch=getch())!=13)
{
if ((ch>='0')&&(ch<='9'))
{
chislo[i]=ch;
i++;
}
if ((ch<13)||(ch>13)||(ch<'0')||(ch>'9 '))
{
printf ("Intup ERROR, try again\n");
}
ch=getch();
}

k=strlen(chislo); //представление строки с числом в виде массива байт, начало массива - младшие разряды числа, старшие разряды ограничены -1
for (i=0; i<k; i++)
{
ch=chislo[i];
chislo[i]=chislo[k-1-i];
chislo[k-1-i]=ch;
}
chislo[k]=-1;
ostatki[0]=10%M; //нахождение остатков
for (i=1; i<M; i++)
{
ostatki[i]=(10Tonya Ternovaya[i-1])%M;
}

while (ostatki[0]!=1) //циклический поворот массива остатков до тех пор, пока первый остаток не станет равным еденице
{
j=ostatki[0];
for (i=0; i<M-1; i++)
ostatki[i]=ostatki[i+1];
ostatki[M-1]=j;
}

i=0;
summa=0;
while (chislo[i]!=-1)
summa=summa+(chislo[i]-3)Tonya Ternovaya[i%M];

if (summa%M==0)
{
for (i=0; i<k; i++)
{
ch=chislo[i];
chislo[i]=chislo[k-1-i];
chislo[k-1-i]=ch;
printf ("%c", chislo[i]);
}
printf ("Is divided on%i", M);
}
else
{
for (i=0; i<k; i++)
{
ch=chislo[i];
chislo[i]=chislo[k-1-i];
chislo[k-1-i]=ch;
printf ("%c", chislo[i]);
}
printf ("Is not devided on%i", M);
}

getch();
return 0;
}

Почему она не хочет работать , помогите найти ошибку ,пожалуйста :D
sw1epe вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем дело(Процедуры)??? Dima DDM Общие вопросы Delphi 2 10.01.2011 14:43
В чем дело? sanja155 Помощь студентам 1 17.12.2010 01:51
Не понимаю в чем дело с MS SQL! Umbrella90 Помощь студентам 1 05.07.2010 20:40
Не робит, в чем дело? NCro Общие вопросы C/C++ 3 27.05.2010 07:56
Помогите! Не пойму, в чем дело... Baharev БД в Delphi 7 07.12.2009 19:18