Професионална програма
Loading...
+ Нов въпрос
ivandm5 avatar ivandm5 17 Точки

Arrays - Exercises 02 Rotate and Sum

Здравейте, пробвам се да реша задачата с ротация и сумиране, но след 1 часово пробване стигнах до тук.
Въвеждам масива и числото, обръщам масива както е дадено в условието, но след това си задавам въпросите как да го обърна втори път и как да го сумирам като пробвам от 1 час разни кодове гледам и от нета примерни, но не ми се получава.
 

using System;
using System.Linq;

class LargestCommonEnd
{

   static string[] shiftRight(string[] arr)
	{
		 

		 
	 
     
		string[] demo = new string[arr.Length];
		string[] sum = new string[arr.Length];
		int k = int.Parse(Console.ReadLine());
		for (int j = 1; j <= k; j++)
		{

		
		for (int i = 1; i < arr.Length; i++)
		{
 
				demo[i] = arr[i - 1];
 
			}
			Console.WriteLine(string.Join(" ", demo));
			}
		//const int n = 5;

		//int[] a = new int[n] { 10, 20, 30, 40, 50 };
		//int[] b = new int[n] { 5, 4, 3, 2, 1 };
		//int[] arr = new int[n];
 


			 
					 
				 
				 
		 
			 
			 

	 
 		 

			 

 
	 
		demo[0] = arr[demo.Length - 1];
		 	 
		return demo;
		 
			
	

 
		 

		 
	}
	//public static string sum(string[] x)
	//{
	//	int k = int.Parse(Console.ReadLine());
	//	string sum = 0;
	//	for (int i = 0; i < demo.length; i++)
	//	{
	//		sum += x[i];
	//	}
	//	return sum;
	//}
 

	
	
	
	
	 

	static void Main(string[] args)
	{
		string[] wordsFirst = Console.ReadLine().Split(' ').ToArray();
	 
		//int countLeftRight = 0;
		//int countRightLeft = 0;
		//for (int i = 0; i < wordsFirst.Length && i < wordsSecond.Length; i++)
		//{

		//}
		//for (int j = 0; j < wordsFirst.Length && j < wordsSecond.Length; j++)
		//{

		//}
		 
			shiftRight(wordsFirst);
			 
		 
		 
	 
	}
}

 

Тагове:
0
Programming Fundamentals
RadinaToteva avatar RadinaToteva 90 Точки

Здравей,

Много ми е трудно да проследя кода ти. Изпращам ти моето решение, надявам се това да ти помогне. smiley http://pastebin.com/tgDBYT8R

0
r_panchev97 avatar r_panchev97 71 Точки

Разгледай тези примери. Препоръчвам ти директно да копираш някои от тях и дебъгвай колкото пъти е нужно, за да разбереш как се случват нещата и после ще можеда взаимстваш и добавиш в твоя код.

0
a.aleksandrov91 avatar a.aleksandrov91 51 Точки

Здравей, разгледах твоето решение. Не ти завърта масива повече от един път, защото вземаш последната променлива от масив "arr", която не се променя. В цикъла ти присвояваш стойности на масива "demo" от масива "arr", но никъде не се разменят индексите им, освен на първия и последният елемент. Надявам се да си разбрал обяснението ми. Пускам ти един код за завъртане на масива, за да ти се изясни какво имах в предвид. :)

http://pastebin.com/JgzAvPcg

0
ivandm5 avatar ivandm5 17 Точки

 nums[0] = temp;
Това накрая не разбирам какво прави точно.
 

 

0
a.aleksandrov91 avatar a.aleksandrov91 51 Точки

Първо на променливата temp се присвоява стойноста на последният индекс от масива. След като приключи вторият цикъл имаме един масив със стойности без последната, като стойноста в клетка [0] и [1] е една и съща. За това след това на клетка [0] присвояваме вече запазената стойност от последната клетка.

0