Labas, Svečias. Prašome prisijungti arba užsiregistruoti. Did you miss your activation email?




Autorius Tema: Kompiuterija  (Skaityta 505590 kartus)

Neprisijungęs @BaRtEx@

  • Įrašai: 321
    • Žiūrėti profilį
Re: Kompiuterija
« Atsakymas #2600: 2011 Kovo 17, 22:14:21 »
Gal kas susiduret su algoritmais??? Kuo toliau tuo didesnis miskas man... Gal kas galetu padet ar ant kelio uzvest ??? dekui
Kazkokia pradzia yra bet gal su duomenim supjoviau...
http://img717.imageshack.us/img717/3285/10348007.png


Su integer padariau, tyngiu zaist su dideliais skaiciais... Random parenka nuo 1 iki 100(pagamintu detaliu sk.). Mas1, mas2, mas3 tai kiekvienam cechui priskirtas detaliu kiekis pagal dirbtu dienu skaiciu. Sum1, sum2, sum3 tai detaliu pagamintu per N dienu suma,




program Noname0;
var mas1 : array[1..3000] of integer;  //pirmos imones masyvas
mas2 : array[1..3000] of integer;  //antros imones masyvas
mas3 : array[1..3000] of integer;  //trecios imones masyvas
   n, i, sum1,sum2,sum3, min: integer;


Begin
 writeln('Iveskite dirbtu dienu skaiciu');
read (n); //dienu skaicius
begin
for i := 1 to n do
mas1[i] := random(100);
end;
begin
sum1:=0;
for i := 1 to n do
sum1:=sum1+mas1[i];
end;

begin
for i := 1 to n do
mas2[i] := random(100);
end;
begin
sum2:=0;
for i := 1 to n do
sum2:=sum2+mas2[i];
end;


begin
for i := 1 to n do
mas3[i] := random(100);
end;

 begin
sum3:=0;
for i := 1 to n do
sum3:=sum3+mas3[i];
end;

if sum1<sum2 then
  if sum1<sum3 then
  min:=sum1
    else
  min:=sum3
  else
  if sum2<sum3 then
  min:=sum2
  else min:=sum3;



 writeln('Pirmas cechas pagamino');
  writeln (sum1);
   writeln('Antras cechas pagamino');
   writeln (sum2);
    writeln('Trecias cechas pagamino');
    writeln (sum3);

    if min=sum1 then
  writeln('Maziausiai pagamino pirmas cechas')
    else
    if min=sum2 then
      writeln('Maziausiai pagamino antras cechas')
      else writeln('Maziausiai pagamino trecias cechas');


readln;
readln;

end.

O dekui uz pastangas, ziuriu tikrai supranti :) bet man atrodo sudarimas blogas, nes cia dvimatis masyvas ir kazkaip kitokia struktura tur but...
Butent VB tai toki pavyzduka turiu :
Įrašymas į dvimatį masyvą:

Uždavinio sąlyga: Sukurkite kvadratinę matricą, kurioje reikšmės būtų parinktos atsitiktinai intervale [10; 50]. Apskaičiuokite šios matricos stulpelių sumas.

    Dim N As Integer  'matricoje esančių eilučių ir stulpelių kiekis
    Dim y() As Byte    'dinaminis masyvas, nes programos pradžioje nežinoma kokia bus matrica
    Dim i As Integer  'matricos eilutės numeris
    Dim j As Integer  'matricos stulpelio numeris
    Dim suma As Integer 'matricos stulpelio suma

    N = InputBox("Kiek kvadratineje matricoje bus eiluciu ir stulpeliu?")
    ReDim y(1 To N, 1 To N)  'sukuriama kvadratinė matrica

    Randomize
    'matrica pradedama pildyti nuo eilutės ir pereinami visi stulpeliai toje eilutėje
    For i = 1 To N
        For j = 1 To N 
            y(i, j) = 10 * Rnd + 50
            Worksheets(1).Cells(i, j).Value = y(i, j)
        Next j
    Next i

    'skaičiuojami matricos stulpelių sumos
    'dabar pradedama nuo stulpelio ir pereinamos visos eilutės tame stulpelyje
    For j = 1 To N 
        suma = 0   
        For i = 1 To N
            suma = suma + y(i, j)
        Next i
        Worksheets(1).Cells(i + 1, j).Value = suma
    Next j

O kas liec sudaryma lenteliu turiu tik vienmacio ... ir pavyzdukas :


Gal kokiu minciu yra? Ar viskas ok...?