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

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

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

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

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

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

Не могу вывести матрицу...то есть вначале её ввести а потом вывести,или я что-то не так делаю?
мой код:
Код:


#include <iostream>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <clocale>

using namespace std;



int main()
{
int m, n;

cout << "Vvedi kol-vo uravneniy" << endl;
cin >> m;
m=2*m+2;
cout << "Vvedi kol-vo xcov" << endl;
cin >> n;
n++;

int** array_2; 

// Создаем массив 
array_2 = new int*[m];


for (int i = 0; i < n; i++)
{
array_2[i] = new int[n];
}

// Заполняем массив
for (int i = 1; i < n; i++)

{ 
cout<<"vvedite koefisienty "<<endl;
for (int j = 0; j < m; j++) 

{ 
cin>>array_2[i][j];
cout<<" ";

}

cout<<endl;
}
cout<<"*********************** "<<endl;

for (int i = 1; i < n; i++)

{ 
for (int j = 0; j < m; j++) 

{ 
cout<<array_2[i][j]<<" ";

}

cout<<endl;
}

_getch();
return 0;
}
Нет,не блондинка!!

Последний раз редактировалось Stilet; 11.05.2012 в 07:58.
Аделинкка вне форума Ответить с цитированием
Старый 27.04.2012, 06:38   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
// Создаем массив 
 array_2 = new int*[m];


 for (int i = 0; i < n; i++)
 {
 array_2[i] = new int[n];
 }
CСоздали массив из М элементов, а заполняете только Н...
p51x вне форума Ответить с цитированием
Старый 11.05.2012, 01:16   #3
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

привет-привет!Это снова я.Помогите немного.Задача,все таже ,но у меня ступор.Код
Код:
#include<iostream>
using namespace std;
int main()
{
	
	int m=0 , n=0;
	cout<<"Vvedite k-vo ur-iy"<<endl;
	cin>>m;
	m++;
	cout<<"Vvedite k-vo x"<<endl;
	cin>>n;
	n=n+m+1;
	int a[m][n]; //проблема в объявление матрицы,но размерность вводится с клавы
	
	for(int i=0;i<=m ;i++)
	{ 
		for (int j=0; j<=n ; j++)
		{
			cout<<"vvedite koef"<<i<<j<<endl;
		 cin>>a[i][j];
		 cout<<a[i][j];
		}
	cout<<" "<<endl;
	}
Спасибо заранее.)

From Stilet: Код оформлять нужно согласно правилам по кнопке # на панели инструментов редактора. В противном случае темы будут удаляться!
Нет,не блондинка!!

Последний раз редактировалось Stilet; 11.05.2012 в 07:59.
Аделинкка вне форума Ответить с цитированием
Старый 12.05.2012, 15:05   #4
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Я сделала)))
Код:
#include <iostream>
using namespace std;

int main ()
{
 int n, k;
 int i = 0, j = 0;
 int **mas, max;

 setlocale (LC_CTYPE, "rus");

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

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

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

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

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

 //вывод массива
 cout<<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;
}
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 12.05.2012, 16:59   #5
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

ура)
приятно когда наконец получается
PinkPink вне форума Ответить с цитированием
Старый 12.05.2012, 17:20   #6
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Но есть проблема покруче теперь!!!(Надо как-то найти мин в последней строчке...
У меня только такая версия,но нерабочая
Код:
#include <iostream>
using namespace std;

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

 setlocale (LC_CTYPE, "rus");

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

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

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

 for(i = 0; i < n; i++)
 {
 mas[i] = new int[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;

  int min=0;
  for(i = 0; i < n; i++)
	    min=mas[i][j];
 {
	 if (i>n-1)
		{  			
			if (min>mas[i][j])			
			  min=mas[i][j];			
	    }  
	 for(j = 0; j < k; j++)
         {          
          cout<< " "<<mas[i][j];
	     }
	 cout<<" "<<endl;
  }
   cout<<"min="<<min<<endl;
  
  


 system ("pause");
 return 0;
}
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 12.05.2012, 17:25   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Но есть проблема покруче теперь!!!(Надо как-то найти мин в последней строчке...
Это не проблема!
Код:
min = 0;
for (j = 1; j < k; j++)
  if (mas[n-1][j] < mas[n-1][min]) min = j; 
cout << "min = " << mas[n-1][min] << endl;
или
вот так
Код:
min = mas[n-1][0];
for (j = 1; j< k; j++)
  if (mas[n-1][j] < min) min = mas[n-1][j];
cout << "min=" << min;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 12.05.2012 в 17:28.
Hacker19_90 вне форума Ответить с цитированием
Старый 12.05.2012, 17:25   #8
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

честно говоря не совсем поняла зачем там проверка..
я думаю нужно просто взять цикл по количеству столбцов и искать среди элементов mas[n-1][i];
где i - количество строк
Код:
if (min>mas[i][j])			
 min=mas[i][j];
это правильно

хах) чуть позже ответ отправила, но мысль та же как видишь)

Последний раз редактировалось Stilet; 12.05.2012 в 20:35.
PinkPink вне форума Ответить с цитированием
Старый 12.05.2012, 19:51   #9
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

А почему начинается с 1?
Код:
for (j = 1; j < k; j++)
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 13.05.2012, 12:55   #10
PinkPink
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Аделинкка Посмотреть сообщение
А почему начинается с 1?
Код:
for (j = 1; j < k; j++)
потому что нулевой элемент это у тебя минимум. Ты же его не будешь сам с собой сравнивать? Поэтому все сравнения начинаем со следующего элемента.
PinkPink вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение матрицы DinamoBrynsk Помощь студентам 2 26.02.2011 17:16
заполнение матрицы XAPOH Помощь студентам 4 10.02.2011 23:50
Заполнение матрицы С++ Перфаратар Помощь студентам 7 20.10.2010 19:20
Заполнение матрицы -=aHTPoПоС=- Помощь студентам 3 06.11.2009 17:33
Заполнение матрицы Pedro Помощь студентам 3 22.04.2009 23:53