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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 21:58   #1
rubakKa
Пользователь
 
Регистрация: 30.11.2010
Сообщений: 29
По умолчанию Кратность 7

В первой строке файла записывается кол-во чисел N. В последующих строках числа в двоичной ссч. Требуется определить кратны ли числа 7. Если да, то вывести Yes, если нет, то No. Для каждого числа на новой строке. Вот собственно моя программа.. Все время выдает No. В чем ошибка???

Код:
#include <stdio.h>
#include <string.h>
main(){
FILE *in,*out;
in=fopen( "input.txt", "rt" );
out=fopen( "output.txt", "wt" );
char s[50][1000];
int N,i,j,k,x,len,bit;
fscanf(in,"%d",&N);
for(i=0;i<N;i++){
fgets(s[i],sizeof(s[i])-1,in); 
}
for(i=0;i<N;i++){ 
len=strlen(s[i]);
x=0;
for(j=0,k=len-1;j<len;j++,k--){
bit=s[i][k]-'0';
x=x+(bit<<j);
}
if (x%7==0)
fprintf(out,"Yes\n");
else 
fprintf(out,"No\n");
}
fclose(in);
fclose(out);
}
rubakKa вне форума Ответить с цитированием
Старый 14.12.2010, 22:36   #2
rubakKa
Пользователь
 
Регистрация: 30.11.2010
Сообщений: 29
По умолчанию

Задача решена:
Код:
#include <stdio.h>
#include <string.h>
int main()
{
FILE *in,*out; 
in=fopen( "input.txt", "rt" );
out=fopen( "output.txt", "wt" );
char s[50][1000];
int N;
fscanf(in,"%d\n",&N);
for( int i=0;i<N;i++) {
fgets(s[i],sizeof(s[i])-1,in); 
int len=strlen(s[i]);
for(int j=0;j<len;j++){
if(s[i][j]!='0' && s[i][j]!='1')
{
s[ i ][ j ] = 0;
break;
}
}
}
for ( int i=0;i<N;i++){
int len=strlen(s[i]);
int x=0;
for(int j=0,k=len-1;j<len;j++,k--){
int bit=s[i][k]-'0';
x=x+(bit<<j);
}
if(x%7==0)
fprintf(out,"Yes\n" );
else 
fprintf(out,"No\n" );
}
fclose(in);
fclose(out);
}
rubakKa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на кратность Palomnik1096 Microsoft Office Excel 4 13.12.2010 14:11
сумма и произведение чисел с проверкой на кратность.. Locust Microsoft Office Excel 4 01.04.2009 12:41
Проверить кратность трем Anita_i Паскаль, Turbo Pascal, PascalABC.NET 2 11.05.2008 10:14