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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2011, 21:54   #1
Jugger
Пользователь
 
Регистрация: 30.01.2008
Сообщений: 99
По умолчанию Переполнение типа данных, или что то в этом роде, програмка простенькая

Данные читаются с файла преобразовываются и записываются в другой файл .. но выходные данные некорректны .. а именно что то не то происходит в строках где присваиваются значения aa[13][i] и aa[17][i]

Подскажите что

Код:
#include "stdafx.h"


using namespace std;

#include <fstream>

int main()
{ 

	int i,j;
	float a[12][10],aa[17][10];
	ifstream ii;
ii.open("a.txt", ios::in);
for (i=0;i<12;i++)
	for(j=0;j<10;j++)
		ii >> a[i][j];

for(j=0;j<10;j++)
{
	for(i=0;i<12;i++) aa[i][j]=a[i][j];
	aa[13][j]=aa[3][j]+aa[4][j]+aa[5][j]+aa[6][j]+aa[7][j];
	aa[14][j]=1-aa[13][j];
	aa[15][j]=aa[3][j]*60+aa[4][j]*78+aa[5][j]*94+aa[6][j]*87+aa[7][j]*105;
	aa[16][j]=aa[1][j]*55+aa[2][j]*65+aa[8][j]*97+aa[9][j]*120+aa[10][j]*144+aa[11][j]*135+aa[12][j]*150;
	aa[17][j]=aa[15][j]+aa[16][j];
}
ofstream uu;
uu.open("o.txt",ios::out);
for(i=0;i<17;i++){
	uu<< endl;
	for(j=0;j<10;j++)
		uu << aa[i][j] << " ";

}
    return 0;
}
входные данные
Код:
0.17	 0.11	0.12	 0.10	0.11	 0.11	 0.11	 0.11	 0.11	 0.11
 0.25	 0.19	0.16	 0.17	0.16	 0.16	 0.16	 0.16	 0.16	 0.16
 0.00	 0.09	0.06	 0.06	0.06	 0.06	 0.06	 0.06	 0.06	 0.06
 0.08	 0.01	0.06	 0.06	0.05	 0.05	 0.05	 0.05	 0.05	 0.05
 0.00	 0.07	0.06	 0.05	0.05	 0.05	 0.05	 0.05	 0.05	 0.05
 0.01	 0.02	0.02	 0.02	0.02	 0.02	 0.02	 0.02	 0.02	 0.02
 0.00	 0.01	0.02	 0.02	0.02	 0.02	 0.02	 0.02	 0.02	 0.02
 0.01	 0.01	0.02	 0.02	0.02	 0.02	 0.02	 0.02	 0.02	 0.02
 0.34	 0.13	0.16	 0.21	0.20	 0.19	 0.20	 0.19	 0.19	 0.19
 0.04	 0.14	0.18	 0.14	0.15	 0.16	 0.16	 0.16	 0.16	 0.16
 0.05	 0.21	0.09	 0.12	0.14	 0.13	 0.13	 0.13	 0.13	 0.13
 0.05	 0.01	0.03	 0.03	0.03	 0.03	 0.03	 0.03	 0.03	 0.03
выходные данные
Код:
0.17 0.11 0.12 0.1 0.11 0.11 0.11 0.11 0.11 0.11 
0.25 0.19 0.16 0.17 0.16 0.16 0.16 0.16 0.16 0.16 
0 0.09 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 
0.08 0.01 0.06 0.06 0.05 0.05 0.05 0.05 0.05 0.05 
0 0.07 0.06 0.05 0.05 0.05 0.05 0.05 0.05 0.05 
0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 
0 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 
0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 
0.34 0.13 0.16 0.21 0.2 0.19 0.2 0.19 0.19 0.19 
0.04 0.14 0.18 0.14 0.15 0.16 0.16 0.16 0.16 0.16 
0.05 0.21 0.09 0.12 0.14 0.13 0.13 0.13 0.13 0.13 
0.05 0.01 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 
5.86599e-039 1.4013e-045 0 -1.#QNAN 1.87976e+015 1.68908e+015 6.02006e-039 6.13737e-039 0 5.86599e-039 
0.1 0.12 0.18 0.17 0.16 0.16 0.16 0.16 0.16 0.16 
0.9 0.88 0.82 0.83 0.84 0.84 0.84 0.84 0.84 0.84 
6.79 9.86 14 13.22 12.62 12.62 12.62 12.62 12.62 12.62 
65.48 77.3 66.83 -1.#QNAN 2.81964e+017 2.53361e+017 74.07 73.1 73.1 73.1

Последний раз редактировалось Jugger; 19.05.2011 в 21:56.
Jugger вне форума Ответить с цитированием
Старый 19.05.2011, 22:20   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Ну и? Ясен же пень, что вылетаете за пределы массива.
аа с 12-м индексом так и не проинициализирована. А куда вы там лезете в 17-й индекс, для массива где старшим является 16-й одному Ктулху известно...
mMAg вне форума Ответить с цитированием
Старый 19.05.2011, 22:49   #3
Jugger
Пользователь
 
Регистрация: 30.01.2008
Сообщений: 99
По умолчанию

Да, точно, я там с индексами напутал .. поправил, но тем не менее не пришло в нужный вид
Вот что исправил
Код:
aa[12][j]=aa[3][j]+aa[4][j]+aa[5][j]+aa[6][j]+aa[7][j];
	aa[13][j]=1-aa[13][j];
	aa[14][j]=aa[3][j]*60+aa[4][j]*78+aa[5][j]*94+aa[6][j]*87+aa[7][j]*105;
	aa[15][j]=aa[1][j]*55+aa[2][j]*65+aa[8][j]*97+aa[9][j]*120+aa[10][j]*144+aa[11][j]*135+aa[12][j]*150;
	aa[16][j]=aa[15][j]+aa[16][j];
И вот что выдает

Код:
0.17 0.11 0.12 0.1 0.11 0.11 0.11 0.11 0.11 0.11 
0.25 0.19 0.16 0.17 0.16 0.16 0.16 0.16 0.16 0.16 
0 0.09 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 
0.08 0.01 0.06 0.06 0.05 0.05 0.05 0.05 0.05 0.05 
0 0.07 0.06 0.05 0.05 0.05 0.05 0.05 0.05 0.05 
0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 
0 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 
0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 
0.34 0.13 0.16 0.21 0.2 0.19 0.2 0.19 0.19 0.19 
0.04 0.14 0.18 0.14 0.15 0.16 0.16 0.16 0.16 0.16 
0.05 0.21 0.09 0.12 0.14 0.13 0.13 0.13 0.13 0.13 
0.05 0.01 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 
0.1 0.12 0.18 0.17 0.16 0.16 0.16 0.16 0.16 0.16 
1 -1.69879e+015 -1.71061e+015 1 1 1 1 1 -1.69878e+015 1 
6.79 9.86 14 13.22 12.62 12.62 12.62 12.62 12.62 12.62 
80.48 95.3 93.83 97.25 98.31 97.1 98.07 97.1 97.1 97.1 
80.48 95.3 93.83 2.59584e+015 -1.#QNAN 1.69879e+015 98.07 97.1 97.1001 97.1
Jugger вне форума Ответить с цитированием
Старый 19.05.2011, 22:57   #4
Jugger
Пользователь
 
Регистрация: 30.01.2008
Сообщений: 99
По умолчанию

А, всё .. надо было все индексы снизить на 1 .. Спасибо
Jugger вне форума Ответить с цитированием
Старый 19.05.2011, 23:58   #5
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Ай, ну детский сад. Дебагом научитесь пользоваться. Вы все равно не исправили все, на что вам было указано.
вот и что вы ждете от строчки
Код:
aa[13][j]=1-aa[13][j];
если aa[13][] не проинициализирован?
Следите за индексами.
mMAg вне форума Ответить с цитированием
Старый 20.05.2011, 01:16   #6
Jugger
Пользователь
 
Регистрация: 30.01.2008
Сообщений: 99
По умолчанию

в спешке не заметил
но потом как и написал выше снизил все индексы на 1

что делать если опыта не хватает .. бывает
Jugger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сокращение строк, ну что-то в этом роде... sxcine Общие вопросы Delphi 4 05.02.2011 12:23
Создание группы или что то в этом роде gadilla_cs Общие вопросы Delphi 3 23.01.2011 13:53
Простенькая програмка ... Abstract Общие вопросы C/C++ 2 22.06.2010 12:43
Проблема с подключением модуля в uses или что-то в этом роде Botanik87 Помощь студентам 1 27.05.2009 16:04
switch или что-нибудь типа того ДядяМиша PHP 3 30.04.2009 08:17