В Чем Ошибка?

  • Автор темы sw1epe
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

sw1epe

#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=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;
chislo=chislo[k-1-i];
chislo[k-1-i]=ch;
}
chislo[k]=-1;
ostatki[0]=10%M; //нахождение остатков
for (i=1; i<M; i++)
{
ostatki=(10Tonya Ternovaya[i-1])%M;
}

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

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

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

getch();
return 0;
}

Почему она не хочет работать , помогите найти ошибку ,пожалуйста <_<
 
R

rrrFer

#3
сразу бросилась в глаза ошибка:
while (ostatki[0]!=1) //циклический поворот массива остатков до тех пор, пока первый остаток не станет равным еденице
А так-то да, Терновая тут ненужна.

--------
И за это спасибо, порадовался:
 
Статус
Закрыто для дальнейших ответов.