C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
ај малце помош некој да помогне со рекурзивна функција која пресметува број на непарни цифри во даден број.:tapp:
 
ај малце помош некој да помогне со рекурзивна функција која пресметува број на непарни цифри во даден број.:tapp:

Код:
int kolkuNeparniCifri(int n)
{
	if (n == 0)
		return 0;
	int cifra = n%10;
	if (cifra%2==1)
		return (1 + kolkuNeparniCifri(n/10));
	else
		return (kolkuNeparniCifri(n/10));
}

А можи и вака финтаџиски
Код:
int kolkuNeparniCifri(int n)
{
	if (n == 0) return 0;
	return (n%10%2 + kolkuNeparniCifri(n/10));
}
 

Еве ти во C++ поуниверзална е.Да собираш броеви се додека не внесеш 9999.

Код:
#include <iostream>

using namespace std;

int main()

{   
    float suma=0;
    float n;
    cout<<"Vnesi broevi,za kraj 999"<<endl;
    cin>>n;
while (n != 9999){
    suma=suma+n;
cin>>n;
}
cout<<suma<<endl;
system ("pause");
return 0;
}
 

А еве и во С:

Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,br,suma=0;
    printf("Pocni so vnesuvanje na broevite, za kraj 0!\n");
    while(scanf("%d",&n)&&n!=0)
    {
                                  br=n;
                                  suma+=br;
    }
    printf("Suma na broevite: %d\n",suma);
    system("pause");
    return 0;
}


--- надополнето ---

Да се најдат сите природни броеви помали од дадениот природен број n внесен преку тастатура, чии цифри се подредени во растечки редослед.


Програмски јазик C. Anyone?

Ова е тоа што се бара:

Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int broj, ed, st, t1, t2, i, bul;
    printf("Vnesi go brojot: ");
    scanf("%d",&broj);
    for(i=10;i<broj;i++)
    {
                     t1=i;
                     bul=1;
                     while(t1)
                     {
                               ed=t1%10;
                               t1/=10;
                               t2=t1;
                               while(t2)
                               {
                                     st=t2%10;
                                     t2/=10;
                                     if(ed<=st)
                                     bul=0; 
                               }  
                               
                     }
                     if(bul)
                     printf("%d\n",i);
    }
    system("pause");
    return 0;
}
bibil направил код за внесениот број да проверува, а се бара за сите природни помали од него.
 
dali mozit pomos da se resit nekako zadacava da dobijame nekoe poence? fala unapred!!!
Да се пресмета производот на матриците А=[aij]m*p и B=[bij]p*n внесени преку тастатура.
Објаснување: Производ на матриците A и B е матрицата C=[cij]m*n со елементи cij=ai1*b1j + ai2*b2j + … + aip*bpj , за i=1,m и j=1,n.
 
АЈ помош со ланскава колоквиумска!

Да се напише функција што како влезен аргумент прима низа од знаци, а враќа единица ако низата може да се смета за валидна е-маил адреса односно има барем еден знак пред специјалниот знак `@` и барем една точка после него, но така што се одвоени со најмалку еден знак, а низата не завршува на точка!

Пример: f(kire@gmail.com) ->1; f(.@yahoo) ->0 ; f(a@.com) ->0 ; f(ana@.) -> 0!

--- надополнето ---

^ Никој не знае да ја напише?
 
aj drugari mala pomos za:da se najde najgolemata razlika megu 1) dva sosedni elementi od niza i
2)( внесуваат непознат број броеви) тековно внесен број и претходниот број
 
Да се пресмета производот на матриците А=[aij]m*p и B=[bij]p*n внесени преку тастатура.
Објаснување: Производ на матриците A и B е матрицата C=[cij]m*n со елементи cij=ai1*b1j + ai2*b2j + … + aip*bpj , за i=1,m и j=1,n.

Повеќе: http://forum.kajgana.com/showthread.php?6575-C-C/page62#ixzz19SKEONZS

--- надополнето ---

За ова треба некој шо знае да работи со покажувачи, а мене ми се слаба страна истите... дајте некоја матрица ако имате...

Да се пресмета производот на матриците А=[aij]m*p и B=[bij]p*n внесени преку тастатура.
Објаснување: Производ на матриците A и B е матрицата C=[cij]m*n со елементи cij=ai1*b1j + ai2*b2j + … + aip*bpj , за i=1,m и j=1,n.

Повеќе: http://forum.kajgana.com/showthread.php?6575-C-C/page62#ixzz19SKEONZS
 
Да се пресмета производот на матриците А=[aij]m*p и B=[bij]p*n внесени преку тастатура.
Објаснување: Производ на матриците A и B е матрицата C=[cij]m*n со елементи cij=ai1*b1j + ai2*b2j + … + aip*bpj , за i=1,m и j=1,n.

Повеќе: http://forum.kajgana.com/showthread.php?6575-C-C/page62#ixzz19SKEONZS

--- надополнето ---



Да се пресмета производот на матриците А=[aij]m*p и B=[bij]p*n внесени преку тастатура.
Објаснување: Производ на матриците A и B е матрицата C=[cij]m*n со елементи cij=ai1*b1j + ai2*b2j + … + aip*bpj , за i=1,m и j=1,n.

Не ми е јасно ова производ на матриците, треба секој елемент од едната матрица да се помножи со соодветниот од другата?
 
АЈ помош со ланскава колоквиумска!

Да се напише функција што како влезен аргумент прима низа од знаци, а враќа единица ако низата може да се смета за валидна е-маил адреса односно има барем еден знак пред специјалниот знак `@` и барем една точка после него, но така што се одвоени со најмалку еден знак, а низата не завршува на точка!

Пример: f(kire@gmail.com) ->1; f(.@yahoo) ->0 ; f(a@.com) ->0 ; f(ana@.) -> 0!

--- надополнето ---

^ Никој не знае да ја напише?

Друже немам C++ компајлер, да не пишувам код на празно... кој дел точно не ти е јасен ?

Еве ти ја процедурата (кодот е во Python, ама претпоставувам ќе ја сватиш логиката)
Код:
def F( email ):
    name    = None
    at         = None
    domain  = None

    # Ja barash pozicijata na '@'
    at = email.find('@')
    # Dokolku ne postoi '@' vrakjash 0
    if at < 0: return 0

    # Go zimash imeto (stringot pred '@')
    name = email[0:at]
    # Proveruvash dali stringot sodrzhi barem 2 karakteri
    # ili stringot ako zavrshuva so '.' vrakjash 0
    if len(name) < 2 or email[at-1] == '.': return 0

    # Go zimash string posle '@'
    domain = email[at+1:]
    # Proveruvash dali sodrzhi barem 2 karakteri
    # ili pak ako zapochnuva so '.' vrakjash 0
    if len(domain) < 2 or email[at+1] == '.': return 0

    # Ako gi pomine site validacii vrakjash 1
    return 1

И еве со твоите примери какви резултати ми врати мене:
>>> ================================ RESTART ================================
>>>
>>> F('kire@gmail.com')
1
>>> F('.@yahoo')
0
>>> F('a@.com')
0
>>> F('ana@.')
0
>>>

Логиката е таа, евентуално ако треба да се додаде уште некоја валидација (ако стрингот пред '@' започнува со '.' или пак ако стрингот после '@' завршува со '.')... ако имаш нешто нејасно прашуј. :)
 

Kajgana Shop

Back
На врв Bottom