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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 16:15   #1
vinternete
Пользователь
 
Регистрация: 09.10.2010
Сообщений: 10
По умолчанию Дан файл целых чисел, но есть ошибка [Cи]

(задача на Си) Дан файл целых чисел. Заменить в нем каждое положительное число на три нуля.
файл с содержанием:
-1 -2 -3 -4 5 6 7
где ошибка? почему ноли прописываются в конце а не вместо отрицательных чисел?
если кому не сложно, исправьте пожалуйста.
Код:
#include<stdio.h>
main()
{
FILE *fp;
int i;
int temp;


if((fp=fopen("5.txt", "r+"))==NULL) 
printf("False\n");
else
for(i=0;i<7;i++)
fscanf(fp,"%d ",&temp);
if(temp>=1) {
	temp=0;
fprintf(fp,"000");
}
}
vinternete вне форума Ответить с цитированием
Старый 08.07.2011, 16:20   #2
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Цитата:
Сообщение от vinternete Посмотреть сообщение
Заменить в нем каждое положительное число на три нуля.
файл с содержанием:
-1 -2 -3 -4 5 6 7
где ошибка? почему ноли прописываются в конце а не вместо отрицательных чисел?
если кому не сложно, исправьте пожалуйста.
Это типа шутко?)
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 08.07.2011, 17:13   #3
vinternete
Пользователь
 
Регистрация: 09.10.2010
Сообщений: 10
По умолчанию

ошибочка вышла, надо чтобы вместо положительных прописывало 1 ноль, но при запуске программы документ содержит
-1 -2 -3 -4 5 6 7000
вместо
-1 -2 -3 -4 0 0 0
vinternete вне форума Ответить с цитированием
Старый 08.07.2011, 17:40   #4
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Цитата:
Сообщение от vinternete Посмотреть сообщение
(задача на Си) Дан файл целых чисел. Заменить в нем каждое положительное число на три нуля.
файл с содержанием:
-1 -2 -3 -4 5 6 7
где ошибка? почему ноли прописываются в конце а не вместо отрицательных чисел?
если кому не сложно, исправьте пожалуйста.
Код:
#include<stdio.h>
main()
{
FILE *fp;
int i;
int temp;


if((fp=fopen("5.txt", "r+"))==NULL) 
printf("False\n");
else
for(i=0;i<7;i++)
fscanf(fp,"%d ",&temp);
if(temp>=1) {
	temp=0;//вот это правильно, но только с условием, что ты        работаешь с массивом
fprintf(fp,"000");//это похоже на костыль 
}
}
Определи массив, считай данный в массив, после этого можешь спокойно работать с массивом. А после замены просто сделай вывод массива циклом. Ясно?
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 08.07.2011, 22:41   #5
vinternete
Пользователь
 
Регистрация: 09.10.2010
Сообщений: 10
По умолчанию

да, спасибо
vinternete вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных максимумов в порядке возрастания zzz6 Помощь студентам 1 04.07.2011 12:59
дан массив А из К целых чисел. amikulia Помощь студентам 1 14.01.2011 12:41
Дан неубывающий массив положительных и отрицательных целых чисел a[1]<=a[2]<=...<=a[n]. Машка-Ромашка Помощь студентам 0 23.12.2010 04:15
Дан массив целых чисел из n элементов endimion11 Помощь студентам 11 20.04.2010 17:36