Помош: Кратки програмки

Член од
14 јануари 2008
Мислења
1.341
Поени од реакции
162
@Rev0ke

Код:
#include<iostream>
using namespace std;

int funkcija(int n)
{
    
    cout << n << " ";
    
    if(n==1)
    return 0;

    if(n%2)
        return funkcija(3*n + 1);
    else
        return funkcija(n/2);
}

int main()
{
    int n;
    cin >> n;
    
    funkcija(n);
    cin.get();
    cin.get();
}
...или...

Код:
#include<iostream>
using namespace std;


int main()
{
    int n;
    cin >> n;
    
    while(n!=1)
    {
        cout << n << " ";
        if(n%2)
            n = 3*n+1;
        else
            n = n/2;
    }
    cout << n;

    cin.get();
    cin.get();
}
 
R

Reve0ke

Гостин
@Rev0ke

Код:
#include<iostream>
using namespace std;

int funkcija(int n)
{
    
    cout << n << " ";
    
    if(n==1)
    return 0;

    if(n%2)
        return funkcija(3*n + 1);
    else
        return funkcija(n/2);
}

int main()
{
    int n;
    cin >> n;
    
    funkcija(n);
    cin.get();
    cin.get();
}
...или...

Код:
#include<iostream>
using namespace std;


int main()
{
    int n;
    cin >> n;
    
    while(n!=1)
    {
        cout << n << " ";
        if(n%2)
            n = 3*n+1;
        else
            n = n/2;
    }
    cout << n;

    cin.get();
    cin.get();
}
Ок е ова. Ова е алгоритмот во задачата, но во неа се бара нешо друго. Се бара бројот на циклуси (од тој алгоритам) помеѓу вредностите i и j.

Код:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n,k=0,t,p,l,sut[20000];
unsigned int i,j,max;
scanf("%d %d",&i,&j);
l=i;//zadrzuvanje na vrednosta na i
[COLOR=Red]if(0<l<1000000&0<j<1000000)[/COLOR]{//0<i<1000000
while(i<j)
{
    n=i;
    t=1;
    while(n!=0)//the algoritam
    {
     if(n==1)break;
     else if(n%2==1)n=3*n+1;
     else n/=2;
     t++;//broenje na ciklusite na sekoj broj posebno
    }
    sut[k]=t;//vnesuvanje na ciklusite
    k++;//broj sto go pokazuva brojot na broevite so ciklusi t
    i++;
    }//zavrsuva while
i=l;//zadrzuvanje na vrednosta na i
max=sut[0];
for(p=0;p<k;p++)
{if(max<sut[p])max=sut[p];}//sporeduvanje na ciklusite
printf("%d %d %d",i,j,max);}
system("PAUSE");
}
Прашање е зошто обележаниот услов не работи зошто на вредности на i поголеми од милион се исполнува условот.

п.с најдов што е проблемот
 

Srcee

Unforgettable
Член од
29 април 2008
Мислења
5.275
Поени од реакции
3.496
Луѓе, ај објаснете ми го секој ред од следниот код за замена на прв и втор јазол на листа:

public void swapFirstTwo () {
// Swap this SLL’s 1st and 2nd nodes (assuming length > 1).
SLLNode second = this.first.succ;
this.first.succ = second.succ;
second.succ = this.first;
this.first = second;
}
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
107
Луѓе, ај објаснете ми го секој ред од следниот код за замена на прв и втор јазол на листа:

public void swapFirstTwo () {
// Swap this SLL’s 1st and 2nd nodes (assuming length > 1).
SLLNode second = this.first.succ;
this.first.succ = second.succ;
second.succ = this.first;
this.first = second;
}
Према ова, гледам дека станува збор за обична поврзана листа. Чекорите идат вака:
1. Го зачувуваш вториот елемент во листата
2. наследникот на првиот елемент го поставуваш да биде третиот елемент во листата
3. Наследникот на вториот елемент го поставуваш да биде привиот елемент
4. Како прв елемент на листата го поставуваш вториот кој ти е зачуван претходно.

Престави си ги чекорите графички, јасно ќе ти стане.
 

Srcee

Unforgettable
Член од
29 април 2008
Мислења
5.275
Поени од реакции
3.496
Према ова, гледам дека станува збор за обична поврзана листа. Чекорите идат вака:
1. Го зачувуваш вториот елемент во листата
2. наследникот на првиот елемент го поставуваш да биде третиот елемент во листата
3. Наследникот на вториот елемент го поставуваш да биде привиот елемент
4. Како прв елемент на листата го поставуваш вториот кој ти е зачуван претходно.

Престави си ги чекорите графички, јасно ќе ти стане.
A наследникот на првиот е вториот?
 
Член од
14 јануари 2008
Мислења
1.341
Поени од реакции
162
Има пандан во С++ на static класа во С#?
 
R

Reve0ke

Гостин
Ај малце помош во задачава: Напиши програм што од HTML фајл ке ги испише сите линкови.
 

MkForces

тантара пантара
Член од
25 јануари 2007
Мислења
600
Поени од реакции
19
Ај малце помош во задачава: Напиши програм што од HTML фајл ке ги испише сите линкови.
Земи ја содржината од хтмл фајлот во еден стринг на пример, во него пребарај ги подстринговите "a href" и почни да читаш од првите наводници кои следат се до другите наводници... Ако пак не можиш да се снајдиш, ќе напишиме кодче...
 
Член од
14 јануари 2008
Мислења
1.341
Поени од реакции
162
Ај малце помош во задачава: Напиши програм што од HTML фајл ке ги испише сите линкови.
Moја препорака е празни места и нови редови да отстраниш прво.
 

back_rest

ex mod coder
Член од
19 јули 2006
Мислења
1.590
Поени од реакции
107
Ај малце помош во задачава: Напиши програм што од HTML фајл ке ги испише сите линкови.
Ако ти е дозволено да користиш Java или C# може да ги користиш вградените класи за парсирање на XML.
Башка сето ова може со еден x-path израз да се среди:
//a[@href]/@href
 

Kajgana Shop

На врв Bottom