C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
Може некој да објасни нешто за dynamic_cast? кога се користи и каде? :)
 
Ај нид хелп аген :)
Следниот код пример за употреба на преоптоварениот операторот за доделување, но кодот работи и без тој дел од кодот, т.е кода ќе го искоментирам делчето каде што се врши преоптоварувањето на операторот пак се нормално функционира. Знае ли некој зошто? :)
Кодот ти работи заради тоа што компајлерот , и без ти да напишеш твој оператор , ти прави “генерички“ оператор = .
тој генерички оператор не се гледа во кодот , ама работи исто како и кодот што ти си го напишал , имено , иде бит по бит ,и се што има во едната класа го копира СКРОЗ ИСТО како и во оригиналната класа. Ова работи добро се додека не почнеш да работиш со покажувачи.
така да се додека во класата не користиш полажувачи нема никаква потреба да правиш свои оператори .
@Lucifer Sam
не викам дека оригиналниот код му е добар, ти како што кажа е правилно, ама и без твоите поправки кодот работи.
едино што нема да може он да прави со неговата верзија на кодот би било :
Class A , B , C ;
A=B=C ;
 
Кодот ти работи заради тоа што компајлерот , и без ти да напишеш твој оператор , ти прави “генерички“ оператор = .
тој генерички оператор не се гледа во кодот , ама работи исто како и кодот што ти си го напишал , имено , иде бит по бит ,и се што има во едната класа го копира СКРОЗ ИСТО како и во оригиналната класа. Ова работи добро се додека не почнеш да работиш со покажувачи.
така да се додека во класата не користиш полажувачи нема никаква потреба да правиш свои оператори .
@Lucifer Sam
не викам дека оригиналниот код му е добар, ти како што кажа е правилно, ама и без твоите поправки кодот работи.
едино што нема да може он да прави со неговата верзија на кодот би било :
Class A , B , C ;
A=B=C ;

Претпоставував дека функционира генерички оператор за доделување. Ajifos* и сам кажа дека кодот функционира. Идејата ми беше да укажам на грешките во кодот за да го доловам начинот на кој се оптоварува оператор.
 
Знае некој да направи код во C..... името на програмата е "Број Палиндром"....
валјда ке треба да се внесе на влез еден цел број и да се провери дали е палиндром или не е...
а колку што знам палиндроми се броеви што се исто пишуваат од назад и од напред пример. 66, 77, 88, 444. така нешто како што знам.
е сега незнам како со условот да го проверам дали е палиндром ???
 
Палиндром ти е и 121,151, 1221, 56065, 123321, .. итн
Код:
int num,r,sum=0,temp;
    printf("Vnesi broj: ");
    scanf("%d",&num);
    temp=num;
    while(num){
         r=num%10;
         num=num/10;
         sum=sum*10+r;
    }
    if(temp==sum)
         printf("%d e palindrom",temp);
    else
         printf("%d ne e palindrom",temp);
    return 0;
}
 
Палиндром ти е и 121,151, 1221, 56065, 123321, .. итн
Код:
int num,r,sum=0,temp;
    printf("Vnesi broj: ");
    scanf("%d",&num);
    temp=num;
    while(num){
         r=num%10;
         num=num/10;
         sum=sum*10+r;
    }
    if(temp==sum)
         printf("%d e palindrom",temp);
    else
         printf("%d ne e palindrom",temp);
    return 0;
}
Фала другар :D
 
Може уште еден програмски код во С за помош...
Програмата се вика Ден, месец, година......
И сега од влез се внесува реден број на месецот....и се проверува колку денови има во тој месец... 29, 30 или 31....... И да се провери дали годината е престапна или не..
 
А факултет да завршиме место тебе? :unsure:


Код:
if(mесеc==1 || mесеc==3 || mесеc==5 || mесеc==7 || mесеc==8 || mесеc==10 || mesec==12)
    {
        printf("31 den");
    }
    else if(mesec==4 || mesec==6 || mesec==9 || mesec==11)
    {
        printf("30 dena");
    }
    else if(mesec==2)
    {
        printf("28 ili 29 dena");
    }
    else
    {
        printf("Pogresen broj! Vnesi broj pomegu (1-12).\n");
    }
  printf ("Vnesi godina: \n");
    scanf ("%d", &godina);

if ((godina%400==0)||((godina%4==0)&&(godina%100!= 0)))
          printf ("Godinata e prestapna: \n");
    else
          printf ("Godinata ne e prestapna: \n");
    return 0;
}
 
На кој факс си, многу прости задачиве? :|
 
Знаете дека со директно пишување на кодови без никакво објаснување воопшто не им помагате во учењто ?

Дечки кога сакате да прашате за некоја задача треба прво да пробате да ја решите. Ако поминале 4-5-6-7-8 саати и не сте стигнале до решението, ќе го постирате кодот кој сте го пишувале тука и ќе побарате помош.
И може да пробате да побарате решение на нет. Пример да напишеш " number palindrome c code" ќе добиеш еден милион различни кодови за решавањена таа задача.
 
Дечки задача од мендо:http://mendo.mk/Task.do?id=617

Код:
#include <bits/stdc++.h>
using namespace std;
int main(){
int k,n,index,indexmal,najgolem=0,najmal=1000001;
cin >> n >> k;
int A[n],B[n];
for(int i=0;i<n;i++)
{
    cin >>A[i];
    B[i]=0;
}
for(int i=0;i<k;i++){
    for(int j=0;j<n;j++){
        if(A[j]>najgolem)
        {
            najgolem=A[j];
            index=j;
        }if(A[j]<najmal && A[j]!=0){
        najmal=A[j];
        indexmal=j;
        }
    }
    B[indexmal]=A[index];B[index]=A[indexmal];
    A[index]=0;A[indexmal]=0;
    najgolem=1;najmal=1000001;
}
for(int i=0;i<n;i++){
    if(B[i]==0){
        if(i==n)
cout << A[i];
else
    cout << A[i] <<" " ;
    }else{
     if(i==n)
cout << B[i];
else
    cout << B[i] <<" " ;
    }
}
}
Ми дава 15/20 другите се надминат временски лимит.
Да барам нов начин на решавање или може ова решение да помине ?

Благодарам однапред.
 
Дечки задача од мендо:http://mendo.mk/Task.do?id=617

Код:
#include <bits/stdc++.h>
using namespace std;
int main(){
int k,n,index,indexmal,najgolem=0,najmal=1000001;
cin >> n >> k;
int A[n],B[n];
for(int i=0;i<n;i++)
{
    cin >>A[i];
    B[i]=0;
}
for(int i=0;i<k;i++){
    for(int j=0;j<n;j++){
        if(A[j]>najgolem)
        {
            najgolem=A[j];
            index=j;
        }if(A[j]<najmal && A[j]!=0){
        najmal=A[j];
        indexmal=j;
        }
    }
    B[indexmal]=A[index];B[index]=A[indexmal];
    A[index]=0;A[indexmal]=0;
    najgolem=1;najmal=1000001;
}
for(int i=0;i<n;i++){
    if(B[i]==0){
        if(i==n)
cout << A[i];
else
    cout << A[i] <<" " ;
    }else{
     if(i==n)
cout << B[i];
else
    cout << B[i] <<" " ;
    }
}
}
Ми дава 15/20 другите се надминат временски лимит.
Да барам нов начин на решавање или може ова решение да помине ?

Благодарам однапред.
Моменталното решение ти работи со сложеност О(K*N) и не е доволно брзо да ги помине поголемите тест примери. Постои решение кое работи побрзо. Како хинт, почни да размислуваш за сортирање на низата :D
 
За даден центар на кружница и нејзин радиус да се одреди низ кои квадранти
минува.

Хееелп??? Немам ни идеја како да почнам
 

Kajgana Shop

Back
На врв Bottom