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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 00:00   #1
Doubt
Пользователь
 
Аватар для Doubt
 
Регистрация: 19.06.2011
Сообщений: 10
По умолчанию Матрица в Builder C++

Здравствуйте, помогите, пожалуйста, с кодом программы. Само задание:
определить сумму элементов в тех строках, которые не содержат отрицательные элементы.
Сам код (на С++ Builder):
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
N=StrToFloat(Edit1->Text);
Form1->StringGrid1->ColCount=N+1; //  нумерация столбцов
Form1->StringGrid1->RowCount=N+1;   // нумерация строк
Form1->StringGrid1->Cells[0][0]="№";
matr=new int *[N];  // Создаем матрицу
for (i=0; i<N; ++i)
for (j=0; j<N; ++j)
{
matr[i]=new int [N];
Form1->StringGrid1->Cells[i+1][0]=i+1;  // нумерация столбцов
Form1->StringGrid1->Cells[0][j+1]=j+1; // нумерация строк
Form1->StringGrid1->Cells[i+1][j+1]=random(15) - 10;    // числа рандомом
}
N1=N+1;
for (i=1;i<N;i++)
for (j=1;j<N;j++)
{
matr[i][j]=StrToInt(StringGrid1->Cells[i+1][j+1]);//Странно ещё,что не Cells[i+1][j+1]
}
for(i=0; i<N1; i++)    // вот тут уже проблемы
{
for(j=0; j<N1; j++);
}
for(n=S=0, j=0; j<N; j++)
	{
for(i=0; i<N; i++)
		{
			if(matr[i][j]<0) n++;
			else n=0;
		}
		if(n>0)
		{
			S++;
		}   Edit2->Text= S;   //ищет столбцы с положительными элементами
                                        //должен выводить их колличество, а вот врёт
	}

}
Всё пройдет, даже моё невежество в элементарном.

Последний раз редактировалось Doubt; 23.10.2012 в 00:15.
Doubt вне форума Ответить с цитированием
Старый 23.10.2012, 08:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
N=StrToFloat(Edit1->Text);
Form1->StringGrid1->ColCount=N+1; //  нумерация столбцов
Form1->StringGrid1->RowCount=N+1;   // нумерация строк
Form1->StringGrid1->Cells[0][0]="№";
matr=new int *[N];  // Создаем матрицу
for (i=0; i<N; ++i){  
 matr[i]=new int [N]; 
 int ns=0;
 Form1->StringGrid1->Cells[i+1][0]=i+1;  // нумерация столбцов
 for (j=0; j<N; ++j) {
  matr[i][j]=random(15) - 10;
  Form1->StringGrid1->Cells[0][j+1]=j+1; // нумерация строк
  Form1->StringGrid1->Cells[i+1][j+1]=matr[i][j]    // числа рандомом
  if(ns>=0 && matr[i][j]>0) ns+=matr[i][j]; else ns=-1;
 }
 S+=ns;
}
  Edit2->Text= S;  
}
Учтем что S будет аккумулировать все суммы строк, у которых нет отрицалочек.
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.10.2012, 18:04   #3
Doubt
Пользователь
 
Аватар для Doubt
 
Регистрация: 19.06.2011
Сообщений: 10
По умолчанию

здравствуйте, частично. Учтем, что в языках программирования я не особо сильна. У нас ведь получается, что если условие не совпадает, то от ns отнимается 1, в итоге если нет положительных элементов вообще, то он выведет отрицательное число. Значит я пишу ns+=0? Это раз.
Два - что он считает(должен ведь считать числа в строчках?)? Он выводит числа, но что за числа и откуда они взялись - я не пойму, т.к. непонятно, что суммирует он вообще.
Всё пройдет, даже моё невежество в элементарном.

Последний раз редактировалось Doubt; 23.10.2012 в 20:42.
Doubt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл Лунатик13 Помощь студентам 1 20.02.2012 15:54
Матрица Tatum Паскаль, Turbo Pascal, PascalABC.NET 1 21.03.2011 20:03
матрица uses Помощь студентам 9 11.03.2011 20:28
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11