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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 11:57   #1
BaceK
 
Регистрация: 30.11.2010
Сообщений: 9
По умолчанию замена отрицательных чисел в файле

Добрый вечер! Пожалуйста помогите с задачей: во входном файле лежит строка, состоящая из букв, чисел и символов. Ее нужно прочесть и там где в строке начинается число, считать его и проверить положительное оно или отрицательное (отрицательным оно будет считаться если перед ним без пробелов стоит '-', если с пробелом стоит '-', то значит это просто тире). Нужно, чтобы программа в выходной файл выводила эту же строку, в которой вместо отрицательных чисел стоит положительное число. Нужно воспользоваться библиотекой math.h и функцией fabs.

У меня есть только такой вариант решения задачи:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(void){
 char n;
   FILE * fi, * fo;
 
   if ((fi = fopen("C:\\zachita\\test.txt", "rt")) == NULL) {
      puts("Cannot open input file.\n");
      return 1;
   }
   if ((fo = fopen("C:\\zachita\\test_out.txt","wt")) == NULL) {
      puts("Cannot create output file.\n");
      return 1;
   }

   fscanf( fi, "%c", &n );
   while( !feof(fi) ) {
     if ((n == '-')){
        fscanf(fi, "%c",&n);
	if (isdigit(n))
	    fprintf( fo, "%c", n );
        else
            fprintf(fo,"%c%c",'-',n);
        fscanf( fi, "%c", &n );
     }else{
        fprintf( fo, "%c", n );
        fscanf( fi, "%c", &n );
     }
   }
   fclose(fi);
   fclose(fo);
 
   return 0;
  }
Но здесь не используется fabs из math.h . Помогите пожалуйста, как можно написать ее.
BaceK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена всех отрицательных елементов, находившихся под главной диагонолью матрицы VaLiAr Помощь студентам 2 03.11.2011 17:57
Вводится 10 чисел. Найти среднее арифметическое положительных чисел и произведение отрицательных. Руся93 Помощь студентам 14 02.10.2011 13:12
Поиск случайных отрицательных чисел AdmS Общие вопросы C/C++ 9 27.05.2011 20:15
Ввод отрицательных чисел в Ассемблере Alex1991 Помощь студентам 8 30.10.2010 19:36
Замена отрицательных чисел нулями DasV Помощь студентам 0 30.04.2010 00:42