![]()  | 
	
 
  | 
| 
		 
			 
			#16  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
 Нули получаются потому, что матрицы А и В пустые. Их нужно заполнить исходными данными. В этом коде вы просто объявили матрицы А и Б и попытались получить матрицу С, которая является их произведением. Соответственно 0*0=0. Еще хочу Вам подсказать, что в цикле "for to do" блок "begin end" используется только в случае, если в цикле выполняется 2 и более операций. Новый цикл - это одна операция. пример: Код: 
	for i:=1 to 2 do
  for j:=1 to 2 do
    begin
       writeln(i);
       writeln(j);
    end;У Вас есть все возможности найти всю информацию в интернете. Циклы: for, while, repeat Двумерные массивы Умножение матриц Последний раз редактировалось MarlboroRed, 28.11.2012 в 19:29.  | 
| 
		 
			 
			#17  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Буду Вам весьма признательна! И это не первый курс, а третий, просто я перевелась, и вот так попала - на программирование. Всю ту информацию, которую Вы предложили я уже почти перелопатила. Но первые две ссылки, - этот сайт я ещё не встречала, спасибо! Если я убираю begin после каждого цикла, то все цифры просто выстраиваются в вертикальный ряд. "матрицы А и В пустые. Их нужно заполнить исходными данными" --- а куда, в какое место в коде вводить эти данные? Последний раз редактировалось Guneska, 28.11.2012 в 23:07.  | 
| 
		 
			 
			#18  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Цитата: 
	
   вводить хоть сразу в описании переменной в круглых скобках если они фиксированы Код: 
	arr:array[1..4, 1..3] of integer = ((1,-1,3), (0,0,0), (1,4,0), (4,-1,-1));  | 
| 
		 
			 
			#19  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Большое спасибо!  | 
| 
		 
			 
			#20  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 нашла на этом сайте (http://devels.ru/index.php?what=art&p=106), кажется элементарное объяснение перемножения матриц, но началась вот такая лобуда, как на скриншотах. С чем это может быть связано и как решить эту проблему? 
		
	
		
		
			Да, и чёрное окно с результатом не закрывается ни по энтеру, ни нажатием на крестик (справа сверху). Нашла ошибку - исправила. УРА! Третья лабораторная сделана! Но впереди ещё 4,5,6,7,8 ![]() Надеюсь поможете, если снова обращусь! Спасибо всем огромнейшее! Последний раз редактировалось Guneska, 02.12.2012 в 18:03.  | 
| 
		 
			 
			#21  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Доброго времени суток, уважаемые форумчане. 
		
	
		
		
		
		
		
	
		
		
	
	
	Помогите, пожалуйста, перерыла кучу информации, и теперь уже запуталась - моё задание на перестановку или сортировку элементов: "Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку так, чтобы сначала в ней шли все цифры, а потом - все буквы исходной строки. Допустимые символы - цифры, прописные и строчные латинские буквы. Пример: исходная строка - ad2e57b6; результат - 2576adeb". Написать нужно в консольном приложении.  | 
| 
		 
			 
			#22  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 находишь любой готовый алгоритм сортировки например массива и прикручиваеш его к символам в строке 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| Этот пользователь сказал Спасибо robt за это полезное сообщение: | ||
 
Guneska (05.12.2012)
  | ||
| 
		 
			 
			#23  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
 Код: 
	program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  str, numbers, letters, res1,res2: string;
  len,i,j: integer;
begin
  numbers:='1234567890';
  letters:='qwertyuiopasdfghjklzxcvbnm';
  write('Vvedite stroku: ');
  readln(str);  // записываем исходную строку в переменную str
  len:=length(str);  //Записываем в переменную len длинну строки
  for i:=1 to len do   // Цикл от 1 до конца строки
    for j:=1 to 10 do  //Цил от 1 до 10 (количество цифр)
      { Если символ i строки str равен символу j строки numbers тогда записываем
      в res1 по принципу: старая информация в res1 + символ строки}
      if str[i]=numbers[j] then
        begin
          res1:=res1+str[i];
          break;  //Прерывание цикла
        end;
  for i:=1 to len do  // Цикл от 1 до конца строки
    for j:=1 to 26 do  // Цил от 1 до 26 (количество букв в алфавите)
    { Если символ i строки str равен символу j строки letters тогда записываем
      в res2 по принципу: старая информация в res2 + символ строки}
      if str[i]=letters[j] then
        begin
          res2:=res2+str[i];
          break; //Прерывание цикла
        end;
  writeln('Resultat: ', res1,res2);   //Выводим результат
  readln;
end.Первый блок циклов "анализирует" и записывает в одну строку res1 все цифры из исходной строки. Второй блок циклов записывает в res2 все буквы строки. В качестве благодарности произнеси тост за мое здоровье ![]() Последний раз редактировалось MarlboroRed, 05.12.2012 в 22:31.  | 
| Этот пользователь сказал Спасибо MarlboroRed за это полезное сообщение: | ||
 
Guneska (05.12.2012)
  | ||
| 
		 
			 
			#24  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Огромнейшее Вам спасибо! Тост был произнесён за чашкой чёрного чая, теперь Вы будете жить долго и счастливо ![]() Буду сидеть разбирать код, чтобы как можно меньше тратить ваше время на такую мелочь, как я)))  | 
| 
		 
			 
			#25  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Простите, а почему вы использовали "break"? Вы закомментировали это как прерывание цикла, но почему Вы его здесь использовали? Зачем? Последний раз редактировалось Guneska, 07.12.2012 в 23:05.  | 
| 
		 
			 
			#26  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
 По моему объяснение получилось более запутанным, чем сам исходный код.   Кстати код очень не оптимальный и я не могу на него спокойно смотреть.   Кроме того он не будет работать с прописными латинскими буквами, а по условию должен.Тот "кусок" программы в котором циклы можно сократить как минимум к такому виду, с единственным циклом: Код: 
	  for i := 1 to len do
  begin
    case str[i] of
      '0'..'9': res1 := res1 + str[i];
      'a'..'z', 'A'..'Z': res2 := res2 + str[i];
    end;
  end; | 
| Эти 2 пользователя(ей) сказали Спасибо poli-smen за это полезное сообщение: | ||
 
Guneska (08.12.2012),
 
MarlboroRed (08.12.2012)
  | ||
| 
		 
			 
			#27  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Да, Вы правы, прописные буквы игнорируются. Подставила Ваше творение - и всё получилось, спасибо! Только чуть-чуть начала разбираться с "for .. to .. do", как теперь снова нужно бежать искать что такое "case" и с чем его едят    Спасибо, что не даёте расслабиться! ![]()  | 
| 
		 
			 
			#28  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Спасибо что напомнили о кейс оф. Это существенно сократило код проекта, который сейчас создаю. Даже помогая новичкам развиваешь свое умение.  
		
	
		
		
		
		
		
	
		
		
	
	
	![]()  |