Форум программистов, компьютерный форум CyberForum.ru

Файлы - C++

Восстановить пароль Регистрация
 
Conroex
35 / 34 / 1
Регистрация: 20.04.2010
Сообщений: 126
30.05.2010, 01:27     Файлы #1
ПОмогите малость.... мне надо сделать константу масива X, и чтоб вводить её с клавиатуры... просто натолкните на тему..дальше я сам)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<fstream.h>
void main ()
{float i,x[5];
ofstream out_file("fileX.dat");
for (i=0;i<5;i++)
out_file.write((char *) & x[i],sizeof(x[i]));
out_file.close ();
ifstream in_file("fileX.fat");
for (i=0;i<5;i++)
{in_file.read((char *) & x[i],sizeof(x[i]));
float B[5];
for (i=0;i<5;i++)
{cout<<"BBOD MACUBA"<<endl;
cin>>x[i];}
for (i=0;i<5;i++)
{
if (i==0)
B[i]=((x[i]+x[i+1])/2);
if (i==5-1)
B[i]=((x[i]+x[i-1])/2);
if ((i>0) && (i<(5-1)))
B[i]=((x[i+1]+x[i]+x[i-1])/3);}
for (i=0;i<5;i++)
cout<<"| "<<B[i]<<endl;}
getch ();}
Добавлено через 2 часа 4 минуты
Ну ёпт...помогите с этой проблемой...ввод константы с клавиатуры..и всё...скажите куда впихнуть его надо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2010, 01:27     Файлы
Посмотрите здесь:

C++ Файлы
Файлы C++
C++ Файлы
C++ Файлы
C++ файлы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
30.05.2010, 02:02     Файлы #2
Я чё-то не пойму, чё такое константа массива x? Я знаю размер массива, адрес N-го элемента массива, значение N-го элемента массива.

Константу массива не знаю.
Conroex
35 / 34 / 1
Регистрация: 20.04.2010
Сообщений: 126
30.05.2010, 15:11  [ТС]     Файлы #3
Ну да..всмысле размер масива...как мне сделать чтоб я вводил его с клавиатуры?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.05.2010, 15:19     Файлы #4
С динамической памятью знаком?
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
30.05.2010, 15:21     Файлы #5
Это что ли?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
 
int main(){
 
 int n;
 int* mas = new int [n];
 printf ("vvodi chislo elementov massiva\n" );
 std::cin>>n;
 //Теперь можешь смело писать mas[n- 1] и всё будет оk
 //а вот mas [n] писать не советую
 //Вручную за этим следи
 return 0;
}
Прочти про динамические массивы
Conroex
35 / 34 / 1
Регистрация: 20.04.2010
Сообщений: 126
30.05.2010, 15:21  [ТС]     Файлы #6
не понимаю о чём ты...
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.05.2010, 15:24     Файлы #7
Тогда объявляешь статический массив большого размера и дальше работаешь с той его частью, которая требуется.
Conroex
35 / 34 / 1
Регистрация: 20.04.2010
Сообщений: 126
30.05.2010, 15:24  [ТС]     Файлы #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<fstream.h>
void main ()
{const n=5;
float i,x[n];
ofstream out_file("fileX.dat");
for (i=0;i<n;i++)
out_file.write((char *) & x[i],sizeof(x[i]));
out_file.close ();
ifstream in_file("fileX.fat");
for (i=0;i<n;i++)
{in_file.read((char *) & x[i],sizeof(x[i]));
float B[5];
for (i=0;i<n;i++)
{cout<<"BBOD MACUBA"<<endl;
cin>>x[i];}
for (i=0;i<n;i++)
{
if (i==0)
B[i]=((x[i]+x[i+1])/2);
if (i==n-1)
B[i]=((x[i]+x[i-1])/2);
if ((i>0) && (i<(n-1)))
B[i]=((x[i+1]+x[i]+x[i-1])/3);}
cout<<"-----Change Explame-----"<<endl;
for (i=0;i<n;i++)
cout<<"| "<<B[i]<<endl;}
cout<<"-----Change Exect-----"<<endl;
getch ();}
ну вот мой код, константа есть...как мне сделать чтоб я её мог вводить с клавиатуры...??
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.05.2010, 15:27     Файлы #9
C++
1
2
3
4
5
6
7
...
int mass[100];
int size;
cout << "Введите размер массива:";
cin >> size;
for (int i = 0; i < size; i++)
   mass[i]...
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
30.05.2010, 15:35     Файлы #10
Во-первых заруби себе на носу: константу ты с клавы не введёшь, ибо:

1) Ты ей должен происвоить значение в сырце, чтобы когда у тебя был готовый экзешник, в его недрах было уже прописано её значение. Иначе компилятор ругнётся
Попробуй так:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
int main(){
 
 const int n= 89;
 printf ("vvodi chislo elementov massiva\n" );
 std::cin>>n;
 printf ("n= %d\n", n);
 return 0;
}
Увидишь, что ничё не скомпилится

...Если вздумаешь использовать синтаксис С, тогда вот это компилятор схавает, то естьон вроде как допускает ввод константы с клавиатуры. Но допускать-то допускает, а значение не изменяет. Смотри:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
int main(){
 
 const int n= 89;
 printf ("vvodi chislo elementov massiva\n" );
 scanf ("%d", &n);
 printf ("n= %d\n", n);
 getchar ();
 getchar ();
 return 0;
}
Как было значение 89, так и останется. Короче, тебе надо вводить размер массива с клавиатуры, читай про динамические массивы, достаточно просто. Всё.

Добавлено через 47 секунд
kazak, это нехорошо, пусть по-взрослому учится кодить.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.05.2010, 15:38     Файлы #11
Цитата Сообщение от kravam Посмотреть сообщение
kazak, это нехорошо, пусть по-взрослому учится кодить.
Может именно этого от него препод и ждет)
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
30.05.2010, 15:41     Файлы #12
Conroex,смотри, вот какую тему я создал чуть менее года назад
Как передать в функцию указатель на двумерный массив заранее неизвестного размера?
И ничё, справился. И ты справишься.
Conroex
35 / 34 / 1
Регистрация: 20.04.2010
Сообщений: 126
30.05.2010, 15:45  [ТС]     Файлы #13
Спасибо ребят...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2010, 15:48     Файлы
Еще ссылки по теме:

C++ файлы в С++
C++ Файлы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
30.05.2010, 15:48     Файлы #14
Приходи ещё. Всегда рады.
Yandex
Объявления
30.05.2010, 15:48     Файлы
Ответ Создать тему
Опции темы

Текущее время: 05:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru