Program który czyta z klawiatóry 50 liczb do tablicy. C#

Witam. Mam do was prośbę. Muszę napisać program w języku C# który czyta z klawiatury 50 liczb typu int do tablicy. następnie usuwa z tablicy liczby podzielne przez 7 i 21, pozostałe elementy tego ciągu zsuwa w laewo, a puste wypełnia zerami.

Próbowałem coś robić ale to jest na pewno źle zrobione. dlatego proszę o pomoc.

#include

void wczytaj(int *ile, char nazwa[]);

void tworz_tabl(int n,int tab[]);


void wczytaj(int *ile, char nazwa[])

{

	printf("%s\n",nazwa);

		scanf("%d",&*ile);

}

void tworz_tabl(int n,int tab[]) //ta funkcja wypelnia podana 50-elementowa tablice liczbami<1,50>

{		

	int i;

	for(i=0;i
		tab[i]=i+1;


}

na aktualnym etapie nie wiem w którym miejscu wstawić warunek podzielności liczb oraz jak zrobić aby liczby spełniające ten warunek zostały przesunięte w prawo a liczby nie spełniające go w lewo.

Proszę o modyfikację kodu. Pozdrawiam

Jest źle zrobione bo ten kod to program w C, a nie C#. To w jakim ma być wreszcie języku?

nie wiem jak to wygląda w C# ale algorytm jest prosty;)

Robisz pętle od 1 do 50 i z każda iterracją wczytujesz liczbe do tab_;_

Nastąpnie tak zapełnioną tablicę sprawdzasz funkcją Modulo która zwraca resztę z dzielenie i jeżeli reszta jest równa 0 to usuwasz dany element i podstawiasz zero.

Piszesz o przesuwaniu liczb, a z zadania wynika ze ze masz podstawic zero pod liczby które spełniają warunek;)

void tworz_tabl(int n,int tab[])  

   int i; 

   for(i=0;i
 printf("Podaj Liczbe");

 scanf("%d",tab[i]) 

      }


}

Sprawdzenie :

for(i=0;i
if((tab[i]%7)=0)

{

tab[i]=0;

}

}

Cos w tym stylu;)

using System;


namespace dobreprogramy

{

	class Program

	{

		int[] tab = new int[50];


		public static void Main(string[] args)

		{

			Program p = new Program();

			p.sortowanie();

		}


		public void sortowanie()

		{

			//odpuscimy sobie wczytywanie

			for (int i = 0; i < 50; i++)

				tab[i] = i;


			for (int i = 0; i < 50; i++)

			{

				if (tab[i] % 7 == 0)

				{

					this.tab[i] = 0;

					for (int j = i+1; j < 50; j++)

					{

						int swap = tab[j-1];

						tab[j-1] = tab[j];

						tab[j] = swap;

					}  

				}

			}


			for (int i = 0; i < 50; i++)

				Console.Write(tab[i] + " ");


			Console.ReadKey(true);

		}

	}

}

cos w tym stylu?? program wszystkie zamiast wszystkich liczb podzielnych przez 7 pisze 0 i przesuwa je na koniec tablicy czyli w efekcie dostajemy np:

1 2 3 4 5 6 8 9 10 11 12 13 15 16 17 18 19 20 22 23 24 25

26 27 29 30 31 32 33 34 36 37 38 39 40 41 43 44 45 46 47 48

0 0 0 0 0 0 0 0

o to chodzilo??