Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Помогите исправить прожку.


Автор: KyKy 4.6.2006, 12:00
Помогите найти ошибку, мне кажеться она находиться  в считывании, но пока я не могу понять что делать.  smile 


Код

#include "HIPER_HEADER.h"

int main(void)
{

    int a[9];
    int i=0;
    int s;
    int N;


    FILE *indata,
        *outdata;

    indata = open("indata.txt","rt");

    scan(indata,N,a);

    close("indata.txt",indata);

    var(i, a, s);

    outdata=open("outdata.txt","wt");

    fprintf(outdata,"Specifications performance:\nIn univariate array A from N elements (N<=9) calculate: S=a1-a2+a3-a4+a5-a6+...\nResult calculations is %d.\n", s);

    fprintf(outdata,"Исходные данные:\n");
     
      for(i=0;i<N;i++)
      {
         fprintf(outdata,"a[%d]=%d\n",i,a[i]);
      }

      if(i==0)
      {
          fprintf(outdata,"Результат: Не найдено элементов массива");
          return 0;
      }
      else 
          
          fprintf(outdata,"Result: %d", &s);

      close("outdata.txt",outdata);
      return 0;

}




Код

//PR_HIPER_CLOSE.CPP
//Файл из проекта HIPER2
//Главная функция проекта находиться в файле PR_HIPER_ALL.CPP


#include "HIPER_HEADER.h"

//Функция закрытия файла.

void close(         
     char *name,  //Получает имя файла
     FILE *file)  //Получает указатель на файл
{ 
     int ret;       //Вспомогательная переменная
    
     //Закрытие файла 
       ret=fclose(file);

     if(ret==EOF)
    {
        printf("ERROR #2: Can't close file %s\n", name);
        exit(1);
    }
    return ;
}





Код

//PR_HIPER_FUNC.CPP
//Файл из проекта HIPER2
//Главная функция находить в файле PR_HIPER_FUNC.CPP
#include "HIPER_HEADER.h"

//Функция вычисляющая знак перед каждым аn-ым элементом.
void var(int N, //Количество элементов в массиве а.
         int *a,     //Массив а.
         int &s)     //Сумма-разность всех элементов массива а.
{ 
    s=0;
    for (int i = 0; i < N; i++)
    s+= i%2 ? -a[i] : a[i];
}





Код

// PR_HIPER_OPEN.CPP
// Файл из проекта HIPER2
//Главная функция проекта находится в файле PR_HIPER_ALL.CPP


#include "HIPER_HEADER.h"

//Функция открытия файла
 
FILE *open(             // Передает указатель на файл
     char *name,        // Получает имя файла
     char *method)      // Получает метод открытия
{
    
      FILE *file;
    
    // Открытие файла
      file = fopen(name,method);
    
    
      if(file==NULL)
    {
        printf("ERROR #1: Can not open file %s\n", name);
        
        exit(2);
      }
    
    return file;
}




Код

/* Файл из проекта mass
/ Главная функция проекта находится в файле mass.cpp
*/

#include "HIPER_HEADER.h"

//Функция считывания данных 
void scan(FILE *file,  // Получает указатель на файл
          int &N,      // Число элементов массива
          int *a)      // Массив a
{
    int ret,i;       // Вспомогательные переменые
    
    // Считывание числа элементов N
 
    
    ret=fscanf(file,"N=%d ",&N);
        if(ret!=1)
        {
            printf("Error reading data N\n");
            exit(3);
        }
        if(N<1 || N>10)
        {
            printf("ERROR incorrect value");
            exit(4);
        }
    
    for(i=0;i<N;i++)
    {
          ret=fscanf(file,"\n %d ", &a[i]);

      if(ret!=1)
      {
         
             printf("Error.4: Wrong input data \n"); 
           
           exit(5);
        
        }
    
    }



    return ;    
}




Код

#ifndef HIPER_HEADER
#define HIPER_HEADER


#include <stdio.h>
#include <stdlib.h>


//Прототип функции var.
void var(int N, int *a, int &s);

//Прототип функции открытия.
FILE *open( char *name, char *method);

//Прототип функции закрытия.
void close(char *name, FILE *file);

//Прототип функций считывания данных массива.
void scan(FILE *file, int &N, int *a);

#endif



Код

/indata.txt
N=3
5 5 5



Код

Specifications performance:
In univariate array A from N elements (N<=9) calculate: S=a1-a2+a3-a4+a5-a6+...
Result calculations is 0.
Исходные данные:
a[0]=5
a[1]=5
a[2]=5
Result: 12424
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)