M
Mr.InF3ction
Гостин
Да, но проблемот е што детето уште не знае и очигледно не сака да научи основи на програмирање.
include <iostream>
using namespace std
double evra (int denari)
{
return denari/65.1
}
double dolari (int denari)
{
return dolari/45.2
Цената на еврото и на доларите ги стави у константи... Поарно е..Здраво ми треба помош околу одредена задача. Пробав да решам нешто но заглавив, еве ја задачата. Да се креира програма која преку функции ќе врши претворање на внесени евра и долари. Вредноста на евро 65,1 а на доларот е 45,2. Еве како јас ја започнав задачата :
и толку. А втората задача е, Да се најде аритметича средина со функции. 1+2+3+....n целото тоа врз nКод:include <iostream> using namespace std double evra (int denari) { return denari/65.1 } double dolari (int denari) { return dolari/45.2
int n;
double average;
int sum=0;
average=n*(n+1)/2; //no loop
for(int i=1; i<=n; i++) //with loop
{
sum += i;
}
average=double(sum)/n;
#include <iostream>
using namespace std;
double evra(int denari)
{
return denari/61.5;
}
double dolari(int denari)
{
return denari/45.2;
}
int main()
{
int denari;
cout<<"Vnesete denari"<<endl;
cin>>denari;
switch(denari)
case '1'
cout<<evra(denari)
break;
case '2'
cout<<dolari(denari)
break;
Stavi pred denari (double) denari, zatoa sto denari ti se integer, a 42.2 ti e double, so toa ke kastiras promenliva i ke dobies nova double promenliveа како би била првата ? Пошто кога пробав да ги ставам во константа програмта не работеше ?
Еве како продолжив, но не е довршена. Ако може некој да ја доврши би му бил благодарен.
#include <stdio.h>
#include <stdlib.h>
void palindrom(char buk1, char buk2)
{
if(buk1>=buk2)
{
printf("%c",buk1);
return;
}
printf("%c",buk2);
palindrom(buk1,--buk2);
palindrom(++buk2,buk1);
}
int main()
{
char buk1,buk2;
scanf("%c%c",&buk1, &buk2);
palindrom(buk1,buk2);
system("PAUSE");
return 0;
}
if(buk1>=buk2)
{
printf("%c",buk1);
return;
За да ги разбереш задачиве, нај добро пробај реализирај ги на лист, мада оваа функција е напишана многу лошо, без потреба е изкомплицирана и не се гледа многу јасно смислата на рекурсијата, но ајде прво да пробаме за оваа.. . .не ми е јасно откако ќе помине условов, што прави return?Код:#include <stdio.h> #include <stdlib.h> void palindrom(char buk1, char buk2) { if(buk1>=buk2) { printf("%c",buk1); return; } printf("%c",buk2); palindrom(buk1,--buk2); palindrom(++buk2,buk1); }
Како ф-јата знае дека треба да прави рекурзивен повик, ама со 2-рата ф-ја, а не оди на првата? Ако може некој да ми објасни, по можност и малку повизуелно, и како ова работи у RAM, би бил многу благодарен.
palindrom(a,c)
{
(97 >= 99) X
print(c);
palindrom(a,b) (1)
palindrom(b,a) (2) -> малку смотано е реализирана, затоа тешко можеш да приметиш
дека тука нема да е palindrom(d,a)
}
palindrom(a,c)
{
print(c)
palindrom(a,b) (1) (прв пар)
{
print(b)
palindrom(a,a) (1) (втор пар)
{
print(a) -> return; -- веќе ќе почне да се исполнува 2рата функција
}
palindrom(b,a) (2) (втор пар)
{
print(b)
}
}
palindrom(c,a) (2) (прв пар)
{
print(c)
}
}
void palindrom(char buk1, char buk2)
{
if(buk1 >= buk2)
{
printf("%c", buk1);
}
else
{
printf("%c", buk2);
palindrom(buk1, buk2 - 1);
printf("%c", buk2);
}
}