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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 02:31   #1
Despar
Новичок
Джуниор
 
Регистрация: 13.05.2010
Сообщений: 2
Восклицание un-time check failure #2-stack around the variable 't' was corrupted

Доброго времени суток,
Дана целочисленная матрица размера 5*4. Сформировать одномерные массивы, состоящие из количества положительных и суммы отрицательных элементов каждой строки матрицы.

В целом работает, только для последней "строки" матрицы не пашет+ выдает ошибку.
run-time check failure #2-stack around the variable 't' was corrupted
run-time check failure #2-stack around the variable 'n' was corrupted
Код:


Код:
// matr1.cpp : Defines the entry point for the console application.
//
/******************************************************************
Дана целочисленная матрица размера 5?4. Сформировать одномерные 
массивы, состоящие из количества положительных и суммы 
отрицательных элементов каждой строки матрицы
***************************************************************/

#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <iomanip>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{const int x=5;
 const int y=4;
 double m[x][y];
int t[y];
int n[y];
 int i,j;
for (i=0; i<y; i++)
{ t[i]=0;
}
for (i=0; i<y; i++)
{n[i]=0;
}
for (i=0; i<x; i++)
           { for (j=0; j<y; j++)
                    { cout << "m[" << i <<"][" << j<<"]=";
                  cin >> m[i][j];   }
           }
{ for (i=0; i<x; i++)
for (j=0; j<y; j++)
{
		   if (m[i][j]>0)
			   t[i]=t[i]+1;}
}
for(i=0; i<y; i++)
{
cout <<"v"<<i<<" stroke" <<t[i]<<endl;
}
	     for (j=0; j<y; j++)
		{ for (i=0; i<x; i++){
				   if (m[i][j]<0)
					   n[i]=n[i]+m[i][j];}
		}
		for(i=0; i<y; i++)
		{
		cout <<"summa otr v "<<i<<" stroke" <<n[i]<<endl;
}

	return 0;
}
Код возможно некрасивый, да)
Прошу подсказать в чем недочет. Заранее благодарю.
Despar вне форума Ответить с цитированием
Старый 13.05.2010, 10:17   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Потому, что у Вас неправильно указанно количество строк в массивах
Код:
int t[y];
int n[y];
д.б.
Код:
int t[x];
int n[x];
следовательно далее
Код:
for(i=0; i<x; i++)
{
cout <<"v"<<i<<" stroke" <<t[i]<<endl;
}
и
Код:
		for(i=0; i<x; i++)
		{
		cout <<"summa otr v "<<i<<" stroke" <<n[i]<<endl;
}
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка - Run-time error '91' Object variable or With block variable not set Артур Иваныч Microsoft Office Excel 13 12.09.2012 14:18
For loop control variable must be simple local variable Hehe Общие вопросы Delphi 11 26.12.2011 19:42
run-time check failure #2-stack around the variable 't' was corrupted Despar Общие вопросы C/C++ 1 13.05.2010 08:33
Check box ruavia3 Microsoft Office Excel 6 17.11.2009 13:31
Использование CHECK Golovastik SQL, базы данных 3 11.11.2009 20:27