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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 19:28   #1
maniac0192
Новичок
Джуниор
 
Регистрация: 01.12.2011
Сообщений: 1
Восклицание ввод\вывод\файлы C++

#include <iostream>
#include<fstream>
using namespace std;

int n;
int m = n/2;
ifstream f1("input.txt");
ofstream f2("output.txt");
void InArray (float []);
void OutArray(float [],float []);
void Change(float [],float [],float []);

int main()
{
float a[n];
float b[m];
float c[m];
InArray(a);
OutArray(b,c);
Change(a,b,c);
}

void InArray(float a[])
{
for (int k = 0; k <= n-1; k++)
{
f1>> a[k];
}
}

void Change(float a[],float b[],float c[])
{
for (int j=0; j<m ; j++)
{
b[j]=(a[2*j]-a[2*j+1])/2;
c[j]=(a[2*j]+a[2*j+1])/2;
}
}
void OutArray(float b[],float c[])
{
std::cout<<"raznost: ";
for(int j=0; j<m;j++)
{
f2<<b[j]<<endl<<" ";
}

std::cout<<"\n";
std::cout<<"summa: ";
for(int j=0; j<m;j++)
{
f2<<c[j]<<endl<<" ";
}
std::cout<<"\n";
}


я изменил программу чтобы читала из файла и выводила в файл.... Вопрос:
1. Я теперь сделал функции, компилируется но не работает, в чём проблема?
2. Как задавать размер входного массива?? как понимаю первое число в файле input???
maniac0192 вне форума Ответить с цитированием
Старый 01.12.2011, 20:30   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

1)Не прочитаны правила раздела.
Решение: прочитать.
2)Не выделен код в специальный для этого тег(след. из 1).
Решение выделить код и нажать на #.
3)Крайне не желательно использовать глобальные переменные.
Решение: объявлять переменные в функциях.

Так же если написали "using nemespace std;" писать std:: необязательно.

А теперь почему не компилируется...

4) Задаете массив не константным значением
Решение: а)Сделать const int n;
_________б) Использовать динамическую память float *a= new float[n];
5)Не определенна переменная n, а следовательно и m.
Решение: Определить, до объявления массивов.

Правильно понимаете. Использовать первое число в файле - один из возможных вариантов.
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод-вывод Granus Общие вопросы C/C++ 1 29.05.2011 15:15
Ввод-вывод Sparky Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 04.10.2009 13:15
Ввод и вывод Mihael-Vlz Паскаль, Turbo Pascal, PascalABC.NET 3 19.01.2009 18:00
Файлы: ввод - вывод, считывание файла chagin_yav Помощь студентам 1 25.05.2008 15:34