ПРОГРАМИРАЊЕ И ПРОГРАМСКИ ЈАЗИЦИ

  • Креатор на темата Креатор на темата moTaro
  • Време на започнување Време на започнување
Статус
Затворена за нови мислења.
А ај направете задача за решавање на бинарен коефициент. Ама убаво да се објасни, за што се работи и преку која формула. Поздрав.
 
Хехе, задачиве ви се лудило :pos:
Ај малце масажа на мозок:

1. Да се изброи колку пати последната буква од претходниот збор е иста со првата буква од наредниот збор.
2. Да се напише програма за контрола на внесување на загради ( ), [ ], {}. Мора да се затвори еден тип на заграда пред да се отвори друг, и да е можно реално вгнездување на загради {[()]}; {[(())][()]}....се што е нереално {]}... да јави грешка
 
deXterche напиша:
Хехе, задачиве ви се лудило :pos:
Ај малце масажа на мозок:

1. Да се изброи колку пати последната буква од претходниот збор е иста со првата буква од наредниот збор.
2. Да се напише програма за контрола на внесување на загради ( ), [ ], {}. Мора да се затвори еден тип на заграда пред да се отвори друг, и да е можно реално вгнездување на загради {[()]}; {[(())][()]}....се што е нереално {]}... да јави грешка
Ај прво мојава па твојата.:zlo:
 
vo Java:

int nzd(int []pole)
{
int min;
min=pole[0];
for(int i=1;i<pole.length;i++)
if(pole<min) min=pole;
boolean dobro;
for(int i=min; i>0; i--)
{
dobro=true;
for(int j=0;j<pole.length;j++)
if((pole[j]%i) !=0) dobro=false;
if (dobro) return i;
}
return 1;
}

//za nzs malku i ne e optimalno

int nzs(int []pole)
{
int max;
max=pole[0];
for(int i=1;i<pole.length;i++)
if(pole>max) max=pole;
boolean dobro;
for(int i=max; ; i++)
{
dobro=true;
for(int j=0;j<pole.length;j++)
if((i % pole[j]) !=0) dobro=false;
if (dobro) return i;
}
}



// 1. Да се изброи колку пати последната буква од претходниот збор е иста со првата буква од наредниот збор.

int broi(String vlez)
{
StringTokenizer stk=new StringTokenizer(vlez," ,.;'?!()");
String pret, mom;
int broj=0;
pret=stk.nextToken();
while (stk.hasMoreTokens())
{
mom=stk.nextToken();
if (mom.toUpperCase().charAt(0) == pret.toUpperCase().charAt(pret.length() -1)) broj++;
}
return broj;
}

//2. Да се напише програма за контрола на внесување на загради ( ), [ ], {}. Мора да се затвори еден тип на заграда пред да се отвори друг, и да е можно реално вгнездување на загради {[()]}; {[(())][()]}....се што е нереално {]}... да јави грешка

//koristam stack pod pretpostavka deka funkciite za stavanje i zemanje element se add(char) i pop(), a za proverka isEmpty()

bool proverka(String vlez)
{
Stack st=new Stack();
char prov;
for (int i=0; i<vlez.length(); i++)
{
switch (vlez.charAt(i))
{
case '(':
case '{':
case '[':
st.add(vlez.charAt(i));
break;
case '}':
case ']':
case '}':
if (st.isEmpty()) return false;
prov=st.pop();
if (vlez.charAt(i)=='{' && prov !='}') return false;
if (vlez.charAt(i)=='[' && prov !=']') return false;
if (vlez.charAt(i)=='(' && prov !=')') return false;

break;
}
}
return true;
}

// binaren koeficient da mi objasnite shto e pa posle moze da pravime muabet.
 
Бинарен коефициент:
Напомена:само n да се внесе
 

Attachments

  • untitled12121.JPG
    untitled12121.JPG
    15,3 KB · Прегледи: 9
Заглавив на една скапана задача во паскал .... А пред неа напрајв еден куп ! ...

Задачата гласи :
Да се напиши програма која ќе го пресметува производот од 5 произволно внесени броја кои се поголеми од -5 а помали од 5.

Фала од напред. Незнам кај е проблемот еден куп напишав пред ова ...
 
KaPsa напиша:
Заглавив на една скапана задача во паскал .... А пред неа напрајв еден куп ! ...

Задачата гласи :
Да се напиши програма која ќе го пресметува производот од 5 произволно внесени броја кои се поголеми од -5 а помали од 5.

Фала од напред. Незнам кај е проблемот еден куп напишав пред ова ...

Закон си мора да речам.. ако знаеш толку и оваа ќе ја решеше...
 
Фала на помошта , тебе ако не ти се верва ми е гајле .. еве ти една од мене шо ја имам напраено ... !!!!! И не дојдов тука за да се карам со некој како тебе !

Program zbir;
uses wincrt;
var a,b,c,d,e,f:integer;
Begin
Writeln ('Napisi 5 broja da vidime dali zbirot ke bidi pogolem od 260');
readln (a,b,c,d,e);
f:=0;
if a mod 2=0 then f:=f+a;
if b mod 2=0 then f:=f+b;
if c mod 2=0 then f:=f+c;
if d mod 2=0 then f:=f+d;
if e mod 2=0 then f:=f+e;
if f>260 then writeln ('Bravo be zbirot na parnite broevi e pogolem od 260 i iznesuva ',f,' ')
else write ('Zbirot ti e pomal od 260 i iznesuva ',f,'');
end.

Е исто вака пробвав за ова програма , ама елсе на крајот не ми го примаше незнам до шо можи да е проблемот , ако можи некој нека ја реши .... плис. Тенкс
 
Вака од рака, само алгоритмот без компајлирани би идел...
Во C#

Код:
using System;
namespace proizvolni
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, sum = 0;
            string b;
            for (int i = 0; i < 5; i++)
            {
                b = Console.ReadLine();
                a = Convert.ToInt32(b);
                if (a < -5 || a > 5)     
                { 
                    Console.WriteLine("Greska");
                    break;
                    Console.ReadLine();   //да не ви бега конзолата
                }
                else
                {
                    sum = sum * a;
                }
            }
            Console.WriteLine("Sumata e " + sum);
            Console.ReadLine();  //да не ви бега конзолата
        }
    }
}
Едит: пробано работи
 
Код:
unsigned int NZD(unsigned int a, unsigned int b)
{
    if (b == 0) return a;

    return NZD(b, a % b);
}

Може и побрзо.

Код:
unsigned int NZS(unsigned int a, unsigned b)
{
    return a * b / NZD(a, b);
}
 
Не се вика бинарен, туку биномен коефициент.

Код:
unsigned int Binomen(unsigned int n, unsigned k)
{
    std::vector<unsigned int> b(n+1);

    b[0] = 1;

    for(unsigned int i = 1; i <=n; i++){
        b[i] = 1;
        for(unsigned int j = i - 1; j > 0; j--){
            b[j] += b[j - 1];
        }
    }
    return b[k];
}
 
minimoog напиша:
Не се вика бинарен, туку биномен коефициент.

Код:
unsigned int Binomen(unsigned int n, unsigned k)
{
    std::vector<unsigned int> b(n+1);

    b[0] = 1;

    for(unsigned int i = 1; i <=n; i++){
        b[i] = 1;
        for(unsigned int j = i - 1; j > 0; j--){
            b[j] += b[j - 1];
        }
    }
    return b[k];
}

А да го направеше во .exe формат?
 
KaPsa напиша:
Фала на помошта , тебе ако не ти се верва ми е гајле .. еве ти една од мене шо ја имам напраено ... !!!!! И не дојдов тука за да се карам со некој како тебе !

Program zbir;
uses wincrt;
var a,b,c,d,e,f:integer;
Begin
Writeln ('Napisi 5 broja da vidime dali zbirot ke bidi pogolem od 260');
readln (a,b,c,d,e);
f:=0;
if a mod 2=0 then f:=f+a;
if b mod 2=0 then f:=f+b;
if c mod 2=0 then f:=f+c;
if d mod 2=0 then f:=f+d;
if e mod 2=0 then f:=f+e;
if f>260 then writeln ('Bravo be zbirot na parnite broevi e pogolem od 260 i iznesuva ',f,' ')
else write ('Zbirot ti e pomal od 260 i iznesuva ',f,'');
end.

Е исто вака пробвав за ова програма , ама елсе на крајот не ми го примаше незнам до шо можи да е проблемот , ако можи некој нека ја реши .... плис. Тенкс

Ефе ти ја програмата што ја бараш!

program kapsa;
uses WinCrt;
var a,b,c,d,e,f:integer;
begin
writeln ('Vnesi 5 cifri pogolemi od -5, a pomali od 5:');
readln (a,b,c,d,e);
f:=1;
if -5 < a then f:=f*(a)
else a:=0;
if -5 < b then f:=f*(b)
else b:=0;
if -5 < c then f:=f*(c)
else c:=0;
if -5 < d then f:=f*(d)
else d:=0;
if -5 < e then f:=f*(e)
else e:=0;
if 5 > a then f:=f*(a)
else a:=0;
if 5 > b then f:=f*(b)
else b:=0;
if 5 > c then f:=f*(c)
else c:=0;
if 5 > d then f:=f*(d)
else d:=0;
if 5 > e then f:=f*(e)
else e:=0;
f:=(a)*(b)*(c)*(d)*(e);
if f=0 then writeln ('Greska!') else
writeln ('Proizvodot e: ',f);
end.
 
Статус
Затворена за нови мислења.

Kajgana Shop

Back
На врв Bottom