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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 15:27   #1
Mike26rus
 
Регистрация: 09.12.2011
Сообщений: 6
По умолчанию Не выводит нужное число

Саму задачу что надо сделать не выкладываю. Просто требуется найти на каком шаге число будет делиться на 360. В input.txt лежит число 30. В output.txt почему то выдается очень большое число (2293564) хотя по идее должно выдаваться 12.
Вот код:
Код:
#include <stdio.h>  

main() {
int N, K, F, s;
FILE *input, *output;
F = 0;

input = fopen("input.txt", "r");
output = fopen ("output.txt", "w");
s = fscanf(input, "%d", &N);
while ((K % 360) > 0) {
 K = K + N;
 F++;
     }
fprintf (output, "%d", &F);     
fclose(input);
fclose(output);

return 0;
}
Mike26rus вне форума Ответить с цитированием
Старый 09.12.2011, 15:32   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Попробуйте так.

Код:
#include <stdio.h>  

int main() {
int N, K, F, s;
FILE *input, *output;
F = 0;

input = fopen("input.txt", "r");
output = fopen ("output.txt", "w");
s = fscanf(input, "%d", &N);
while ((K % 360) > 0) {
 K = K + N;
 F++;
     }
fprintf (output, "%d", F);     
fclose(input);
fclose(output);

return 0;
}
_-Re@l-_ вне форума Ответить с цитированием
Старый 09.12.2011, 15:41   #3
Mike26rus
 
Регистрация: 09.12.2011
Сообщений: 6
По умолчанию

так еще больше число выдается. не понимаю, вроде бы все правильно
Mike26rus вне форума Ответить с цитированием
Старый 09.12.2011, 15:48   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

А не стоит ли обнулить K перед началом цикла?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 09.12.2011, 15:49   #5
Mike26rus
 
Регистрация: 09.12.2011
Сообщений: 6
По умолчанию

так вообще 0 выдает мне
Mike26rus вне форума Ответить с цитированием
Старый 09.12.2011, 15:57   #6
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Ну тогда так:
Код:
F = 1;
K = N;
а потом цикл.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 09.12.2011, 16:01   #7
Mike26rus
 
Регистрация: 09.12.2011
Сообщений: 6
По умолчанию

спасибо большое, помогло!
Mike26rus вне форума Ответить с цитированием
Старый 09.12.2011, 16:36   #8
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Первоначальная ошибка была в том, что вы выводили адрес переменной
_-Re@l-_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти нужное число в таблице по заданному критерию Svist Microsoft Office Excel 2 01.07.2011 23:40
Курсор в нужное место Apostol13 Общие вопросы Delphi 3 13.06.2011 19:38
Программа Вводит символьную строку и число N и выводит строку, состоящую из первых N символов (С++) Yulai Помощь студентам 1 11.05.2009 11:39
Удалить не нужное из ListBox Shouldercannon Общие вопросы Delphi 7 20.12.2008 00:07