Se afișează postările cu eticheta vector. Afișați toate postările
Se afișează postările cu eticheta vector. Afișați toate postările

joi, 22 octombrie 2015

C# lecția 4




Aplicație la tablouri bidimensionale
Tabla înmulțirii
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TablaInmultirii
{
    class Program
    {
        public static void Main()
        {
            int[,] tabInm = new int[10, 10];
            for (int i = 0; i < tabInm.GetLength(0); i++)
            {
                for (int j = 0; j < tabInm.GetLength(1); j++)
                {
                    tabInm[i, j] = i * j;
                }
            }
            for (int i = 0; i < tabInm.GetLength(0); i++)
            {
                for (int j = 0; j < tabInm.GetLength(1); j++)
                {
                    Console.WriteLine("{0}*{1}={2}", i, j, tabInm[i, j]);
        }
    }
    Console.WriteLine("tabInm.Length={0}", tabInm.Length);
    Console.ReadKey();
   }
  }
}
proprietatea Length dă numărul total de elemente aflat în tablou (pe toate dimensiunile).
GetLength(d) returnează numărul de elemente aflate pe dimensiunea numărul d (numărarea  dimensiunilor începe cu 0).
Determinarea numărului de dimensiuni pentru un tablou rectangular la run–time se face folosind proprietatea Rank a clasei de bază System.Array.
Exemplu:
using System;
class Dimensiuni
{
public static void Main()
{
int[] t1 = new int[2];
int[,] t2 = new int[3,4];
int[,,] t3 = new int[5,6,7];
Console.WriteLine(‘‘t1.Rank={0}\nt2.Rank={1}\nt3.Rank={2}’’, t1.Rank, t2.Rank, t3.Rank);
}
}
Pe ecran va apărea:
t1.Rank=1
t2.Rank=2
t3.Rank=3


C# lecția 3




·         Tipul string, read-only, caractere Unicode.
·         Console.Write și WriteLine cu format
WriteLine("sir",var1,var2,…, varn);
·         Conversia de la string la int si invers.
int i = 13;
string j = i.ToString();
string k=””+i;
string l=”15”;
int p=int.Parse(l);
·         La declararea unui tablou, se creează o instanţă a clasei .NET, System.Array. Declarare tablou unidimensional:
Tip[] nume;
Prin această declaraţie nu se alocă şi spaţiu pentru memorare. Pentru aceasta, tabloul
trebuie instanţiat: 
nume = new Tip[NumarElemente];
Se pot face în acelaşi timp operaţiile de declarare, instanţiere şi iniţializare:
Exemplu:
int[] v = new int[] {1,2,3);
sau
int[] v = {1,2,3);
Exemplul 41: Crearea, sortarea şi afişarea unui vector:
int[] v = new int[5] { 10, 2, 4, 8, 6 };
Array.Sort(v); //sortarea crescatoare a vectorului v
for (int i = 0; i < v.Length; i++) //afisarea vectorului v
Console.Write("{0,3}", v[i]);
Afişarea se poate face şi cu ajutorul lui foreach:
foreach (int i in v)
Console.Write("{0,3}",i);
Tip[] nume;
nume = new Tip[NumarElemente];
int[] v = new int[] {1,2,3);
int[] v = {1,2,3);
·         Foreach
enumeră elementele dintr-o colecţie, executând o instrucţiune pentru fiecare element.
string s="Curs"+" de"+" informatica";
foreach(char c in s)
Console.Write(c);

Ciurul lui Eratostene. Pentru un număr natural n dat se afişează toate numerele prime mai mici decât n. Selectarea numerelor prime se face folosind ciurul lui Eratostene.
Ciurul lui Eratostene presupune formarea unui şir din numerele 2, 3, 4, …, n-1, n. Pentru a
obţine acest şir „tăiem” mai întâi toţi multiplii lui 2, apoi ai lui 3 ş.a.m.d. În final rămân numai
numerele prime din intervalul [2,n]. Noţiunea de „tăiere” a unui element va însemna, în acest caz, atribuirea valorii zero pentru acel element.

/* Ciurul lui Eratostene - calculeaza numerele prime mai mici decat un intreg n
*/
using System;
namespace Exemplul_44
{
    class Program
    {
        static void Main()
        {
            int n, i, j;
            int[] c;
            Console.Write("n=");
            n = int.Parse(Console.ReadLine());
            c = new int[n + 1];
            for (i = 2; i <= n; i++)
                c[i] = i;
            i = 2;
            while (i <= n / 2)//cel mai mare divizor propriu al unui numar este <= jumatatea sa
        {
                if (c[i] != 0)
                {
                    j = 2 * i;
                    while (j <= n)
                    {
                        if (c[j] != 0) c[j] = 0;
                        j += i;
                    }
                }
                i++;
            }
            for (i = 2; i <= n; i++)
                if (c[i] != 0)
                    Console.Write(c[i] + " ");
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}