Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2012, 23:17
Аватар для wawandas
Аспирант
Отправить личное сообщение для wawandas Посмотреть профиль Найти все сообщения от wawandas
 
Регистрация: 05.08.2012
Сообщений: 58

Задачи по JavaScript
Реализуйте алгоритм, проверяющий если элемент матрицы MxN равен 0, тогда всем элементам данной строки и колонки присвоить 0.

var arr = [[1,2,3,4],
           [5,0,7,8], 
           [8,9,10,11]];


моё решение:

var arr = [[1,2,3,4],
           [5,0,7,8], 
           [8,9,10,11]];

		   
var vertical = 0;
var gorizont = 0;

//Циклы в которых мы находим 0 по вертикале и горизонтали

for (var i = 0; i < arr.length; ++i)   
	{  
	  for (var j = 0; j < arr[i].length; ++j)
		{
			if(arr[i][j] == 0)
				{
					vertical = j;
					gorizont = i;
				}
		}

	}
for (var g = 0; g < arr[gorizont].length; ++g)
	{
		arr[gorizont][g] = 0;
	}
	
for (var v = 0; v < arr.length; ++v)
	{
		for (var v2 = 0; v2 < arr[v].length; ++v2)
		{
			arr[v][vertical] = 0;
		}
	}
	
	
alert ('Ноль найден в строке: ' + gorizont + "\nв индексе: " + vertical);

	for (var key in arr)
		{
			document.write(arr[key] + '<br>');
		}


ПЫ.СЫ. опыта у меня мало, возможно его можно как-то оптимизировать, жду ваших предложений, спасибо за внимание

Последний раз редактировалось wawandas, 19.08.2012 в 16:59.
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2012, 00:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript">
var arr = [[1,2,3,4,5], 
           [5,0,7,8,0], 
           [5,6,7,8,1],  
           [8,9,9,9,12]];

function Replacer(i,j) {
   for(var J in arr[i]){
      arr[i][J]=0;
   }
   for(var I in arr){
      arr[I][j]=0;
   }
}


TST_arr0=[];

for(var i in arr){

   for(var j in arr[i]){

      if(arr[i][j]==0){
	  TST_arr0.push([i,j]);
      }
   }

}

for(var i in TST_arr0){
  Replacer(TST_arr0[i][0],TST_arr0[i][1])
}

</script>


<script>
// Print
 var str=''
for(var i in arr){
    str+='['+arr[i].join(",")+']\n'
}
alert(str);
</script>

Последний раз редактировалось Deff, 17.08.2012 в 11:19.
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2012, 09:50
Аватар для wawandas
Аспирант
Отправить личное сообщение для wawandas Посмотреть профиль Найти все сообщения от wawandas
 
Регистрация: 05.08.2012
Сообщений: 58

спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 17.08.2012, 15:00
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

не совсем в тему, но как создать циклами массив массивов?
Ответить с цитированием
  #5 (permalink)  
Старый 17.08.2012, 15:08
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

daima,
var mas = [];
for (i=0; i < 10; i++) {
  mas[i] = [];
  for (j=0; j < 10; j++) {
     mas[i][j] = j;
  }
}
alert(mas);
Ответить с цитированием
  #6 (permalink)  
Старый 17.08.2012, 15:45
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

а сразу : mas[0][0] = 10; ?
а если там будут не значения, а хеши, т.е mas=[[{qq:1,ww:2},...?

Последний раз редактировалось daima, 17.08.2012 в 16:02.
Ответить с цитированием
  #7 (permalink)  
Старый 17.08.2012, 16:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

daima,
mass=[];mass.push([10]);

alert(mass[0][0]);
Ответить с цитированием
  #8 (permalink)  
Старый 17.08.2012, 16:21
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

Супер, спасибо, буду знать. а с хешами как?
Ответить с цитированием
  #9 (permalink)  
Старый 17.08.2012, 16:41
Аватар для wawandas
Аспирант
Отправить личное сообщение для wawandas Посмотреть профиль Найти все сообщения от wawandas
 
Регистрация: 05.08.2012
Сообщений: 58

Ребята! подскажите пожалуйста как извлечь уникальные значения из массива:

var array = [1,2,3,4,1,2,6,7];

заранее спасибо!
Ответить с цитированием
  #10 (permalink)  
Старый 17.08.2012, 16:48
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

берм 1е значение и снова пробегаемся по массиву если нету - выводим и т.д.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Интересная задача для javascript bobri4 Общие вопросы Javascript 4 16.07.2011 13:08
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34