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

Перекрываются элементы массивов - C++

Восстановить пароль Регистрация
 
BCAA
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 3
10.10.2013, 08:37     Перекрываются элементы массивов #1
Такая проблема, не могу сам понять, что не так делаю:
Из файла считываю значения в массив arrayX, потом вывожу его на экран, вижу, что все в порядке. После заполнение уже другого массива arrayY из опять же другого файла, я вижу, что старый массив arrayX, почему то переписался и теперь у меня 2 одинаковых массива. Как такое может быть?
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    double arrayX[0][6], arrayY[0][6], arraysum[0][6], x=0.1662, sum, buf=1, P, Di, A, buf2=1, f, pause;
    ifstream somefile("proga5x.txt");
    ifstream somefile2("proga5y.txt");
    int u=0;
    while (!somefile.eof())
    {
          somefile>>arrayX[0][u];
          u++;
    }
    
    for (int i=0; i<6; i++)
    {
        cout << arrayX[0][i] << "  ";
    }
    cout << endl;
    
    for (int i=0; i<6; i++)
    {
        sum=x-arrayX[0][i];
        sum=buf*sum;
        buf=sum;
    }
    P=sum;
    cout << "Pn+1=" << P << endl;   
    u=0;
    while (!somefile2.eof())
    {
          somefile2>>arrayY[0][u];
          u++;
    }
    for (int i=0; i<6; i++)
    {
       cout << arrayY[0][i] << "  ";
    }
    
   cout << endl;
     for (int i=0; i<6; i++)
    {
        cout << arrayX[0][i] << "  ";
    }
    cout << endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 08:37     Перекрываются элементы массивов
Посмотрите здесь:

C++ общие элементы из 2 целочисленных массивов
Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные C++
C++ Переставить элементы массивов
Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов C++
C++ Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 1
10.10.2013, 08:54     Перекрываются элементы массивов #2
А proga5x.txt и proga5y.txt имеют разное содержание?
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
10.10.2013, 09:00     Перекрываются элементы массивов #3
C++
1
double arrayX[0][6], arrayY[0][6]
Как у тебя компилятор вообще запустился я не понимаю когда тут такая ошибка. В объявление массивов не должно быть значения меньше 1.

Во вторых зачем тебе двухмерные массивы если ты даже не используешь их по назначению, перепиши программу с использованием одномерных и я более чем уверен что проблема сама исчезнет.

И файлы желательно закрывать, после того как ты сделал все действия с ними.
BCAA
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 3
10.10.2013, 09:44  [ТС]     Перекрываются элементы массивов #4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
А proga5x.txt и proga5y.txt имеют разное содержание?
Да, разное.
Как у тебя компилятор вообще запустился я не понимаю когда тут такая ошибка. В объявление массивов не должно быть значения меньше 1.
Точно! Я спутал размер массива, с обращением к первой строке. Теперь работает. Спасибо!
Yandex
Объявления
10.10.2013, 09:44     Перекрываются элементы массивов
Ответ Создать тему
Опции темы

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