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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 18:43   #1
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию Работа со строчками.

Привет всем!!
Код:
//деление на выбранный элемент
cout<<endl<<"***********************************"<<endl;
for (j = 0; j < k; j++)
  
  cout <<"деление на выбранный элемент"<<mas[myn][j]/mas[myn][min]<<"\n";
(нужно,чтоб он это запоминал как массив)

Я хочу чтоб было так:

Код:
//деление на выбранный элемент
cout<<endl<<"***********************************"<<endl;
for (j = 0; j < k; j++)
  {
 mas[myn][j]=mas[myn][j]/mas[myn][min];  
  cout <<"деление на выбранный элемент"<<mas[myn][j]<<"\n";
Но в этом случае он работа со всей строчкой идет.Помогите,п-та.
Нет,не блондинка!!

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

Кто-нибудь что-нибудь понял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2012, 19:50   #3
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Старая задача на тему этой проги.
Код:
  
#include <iostream>
using namespace std;

int main ()
{
 int n, k, st,sv ;
 int i = 0, j = 0;
 double **mas;

 setlocale (LC_CTYPE, "rus");

 cout << "Введите количесво строк массива(к-во у-й): ";
 cin >> st; //Число строк
 n=st+1;

 cout <<"Введите количесво столбцов массива(к-во х): ";
 cin >>sv; //Число столбцов
 k=sv+n;

 mas = new double*[n]; //Выделение памяти под n-строк

 for(i = 0; i < n; i++)
   {
	 mas[i] = new double[k]; //Выделение памяти для каждой строки по k-столбцов 
   }

 for(i = 0; i < n; i++)
	{
		if (i<n-1)	  
		  cout <<"Введите коэффициенты(значения базисных переменных,свободные члены) "<<i+1<<" -го ур-ия"<<endl;
	    else 
	      cout <<"Введите целевую функцию с ОТРИЦАТЕЛЬНЫМ ЗНАКОМ: "<<endl;  
        for(j = 0; j < k; j++)
          {
		    cout<< "mas["<< i<< "][" <<j <<"]="; //Ввод массива 
            cin>> mas[i][j];
          } 
     }

 //вывод массива
cout<<endl;
cout<<endl<<"***********************************"<<endl;
cout<<" Таблица: "<<endl;
int min;
  for(i = 0; i < n; i++)
    {	  
	  for(j = 0; j < k; j++)
        {          
          cout<< " "<<mas[i][j]<<" ";
	    }
	  cout<<" "<<endl;
    }
   cout<<endl<<"***********************************"<<endl;

  // поиск минимального
min = 0;
  for (j = 1; j < sv; j++)
    if (mas[n-1][j] < mas[n-1][min]) min = j; 
  cout << " этот столбец ведущий "<<mas[n-1][min] << endl;
int t;

t=mas[n-1][min];

// поиск столбца
cout<<endl<<"***********************************"<<endl;
int myn = 0;
  for (i= 1; i < st; i++)
    if ((mas[i][k-1])<(mas[myn][k-1])) myn=i;
  cout<<"главный столбец"<<myn<<"\n";
  cout << "эта строка ведущая "<<mas[myn][k-1]<< endl;
  cout<<endl<<"***********************************"<<endl;
  cout <<"коэффицент"<<mas[myn][min]<<endl;
  
//деление на выбранный элемент???????????????????????
cout<<endl<<"***********************************"<<endl;
for (j = 0; j < k; j++)
{ 
      mas[myn][j]=mas[myn][j]/mas[myn][min];//в этом месте я застрялаон не делит до конца строки
	cout <<"деление на выбранный элемент"<<mas[myn][j]<<"\n";

}
cout<<endl;

 //вывод массива
cout<<endl<<"***********************************"<<endl;
 cout<<endl;  
  for(i = 0; i < n; i++)
    {	  
	  for(j = 0; j < k; j++)
        {  
          cout<< " "<<mas[i][j]<<" ";
	    }
	    cout<<" "<<endl;
     }

//из элеметов соответствующих строк вычитаем элементы найденной нам строки
cout<<endl<<"***********************************"<<endl;
for(i = 0; i < myn; i++)
	{
		for(j = 0; j < k; j++)
		  {
			 mas[i][j]=mas[i][j]-mas[myn][j]*mas[i][min];
			 cout<< " "<<mas[i][j]<<" ";
		  }
	}

 //вывод массива
cout<<endl<<"***********************************"<<endl;
 cout<<endl;  
  for(i = 0; i < n; i++)
    {	  
	  for(j = 0; j < k; j++)
        {  
          cout<< " "<<mas[i][j]<<" ";
	    }
	    cout<<" "<<endl;
     }

 system ("pause");
 return 0;
}
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 17.06.2012, 19:54   #4
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Мне просто надо строчка поделить на выбранный коэффициент,но у меня не получается((
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 17.06.2012, 21:18   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
надо строчка поделить на выбранный коэффициент
Ну? А это что?
Цитата:
mas[myn][j]=mas[myn][j]/mas[myn][min];
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2012, 23:12   #6
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Но он считает так неправильно, не всю строчку делит.А если написать просто так:
Код:
cout <<"деление на выбранный элемент"<<mas[myn][j]/mas[myn][min]<<"\n";
он работает со всей строчкой,но в массив тогда не записывает..не пойму зачем так?
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 18.06.2012, 02:31   #7
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Пока все так:
Код:
#include <iostream>
using namespace std;

int main ()
{
 int n, k, st,sv ;
 int i = 0, j = 0;
 double **mas;

 setlocale (LC_CTYPE, "rus");

 cout << "Введите количесво строк массива(к-во у-й): ";
 cin >> st; //Число строк
 n=st+1;

 cout <<"Введите количесво столбцов массива(к-во х): ";
 cin >>sv; //Число столбцов
 k=sv+n;

 mas = new double*[n]; //Выделение памяти под n-строк

 for(i = 0; i < n; i++)
   {
	 mas[i] = new double[k]; //Выделение памяти для каждой строки по k-столбцов 
   }

 for(i = 0; i < n; i++)
	{
		if (i<n-1)	  
		  cout <<"Введите коэффициенты(значения базисных переменных,свободные члены) "<<i+1<<" -го ур-ия"<<endl;
	    else 
	      cout <<"Введите целевую функцию с ОТРИЦАТЕЛЬНЫМ ЗНАКОМ: "<<endl;  
        for(j = 0; j < k; j++)
          {
		    cout<< "mas["<< i<< "][" <<j <<"]="; //Ввод массива 
            cin>> mas[i][j];
          } 
     }

 //вывод массива
cout<<endl;
cout<<endl<<"***********************************"<<endl;
cout<<" Таблица: "<<endl;
int min;
  for(i = 0; i < n; i++)
    {	  
	  for(j = 0; j < k; j++)
        {          
          cout<< " "<<mas[i][j]<<" ";
	    }
	  cout<<" "<<endl;
    }
   cout<<endl<<"***********************************"<<endl;

   
   
   
   //определяем оптимальность решения
double s=1;
   for (j = 1; j < k; j++)
	{
		cout<<"коэ ц.функции"<<mas[n-1][j]<<"\n";   
		while (s*=mas[n-1][j]<0)do
		{
          cout<<"s="<<s<<"\n";

  // поиск минимального
min = 0;
  for (j = 1; j < sv; j++)
    if (mas[n-1][j] < mas[n-1][min]) min = j; 
  cout << " этот столбец ведущий "<<mas[n-1][min] << endl;
double t;

t=mas[n-1][min];

// поиск столбца
cout<<endl<<"***********************************"<<endl;
int myn = 0;
  for (i= 1; i < st; i++)
    if ((mas[i][k-1])<(mas[myn][k-1])) myn=i;
  cout << "эта строка ведущая "<<mas[myn][k-1]<< endl;
  cout<<"строка"<<myn;
  cout<<endl<<"***********************************"<<endl;
  cout <<"коэффицент"<<mas[myn][min]<<endl;


//деление на выбранный элемент
double l=0;
l=mas[myn][min];//для деления на коэффициент
for (j = 0; j < k; j++)
	{	  
		mas[myn][j]=mas[myn][j]/l; 
    }
cout<<endl;

 //вывод массива
cout<<endl<<"***********************************"<<endl;
 cout<<endl;  
  for(i = 0; i < n; i++)
    {	  
	  for(j = 0; j < k; j++)
        {  
          cout<< " "<<mas[i][j]<<" ";
	    }
	    cout<<" "<<endl;
     }


//из элеметов соответствующих строк вычитаем элементы найденной нам строки
double p=0;
 for(i = 0; i < n; i++)	
	{
		p=mas[i][min];
			if (i!=myn)       
			{
				for(j = 0; j < k; j++)
					{
						mas[i][j]=mas[i][j]-mas[myn][j]*p;
					}
			}
     }


 //вывод массива
cout<<endl<<"***********************************"<<endl;
 cout<<endl;  
  for(i = 0; i < n; i++)
    {	  
	  for(j = 0; j < k; j++)
        {  
          cout<< " "<<mas[i][j]<<" ";
	    }
	    cout<<" "<<endl;
     }

cout<<endl<<"***********************************"<<endl; 
 cout<<"целевая функция равняется"<<mas[n-1][k-1]<<"\n";
		}
   }
 system ("pause");
 return 0;
}
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напишите программу в нескольких вариантах решения и с откаментированными строчками)) skazo4nik__IBb Visual C++ 0 26.05.2012 19:54
Работа с строчками и файлами(Java) satanclaus Помощь студентам 0 26.05.2011 21:02
Как убрать пробел между строчками при вводе данных в ячейке? pisani Microsoft Office Excel 2 20.04.2010 05:51
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57