No, uglavnom, uradih jos neke zadatke i greske ne pronalazim, sve je radjeno u C++, evo zadataka i koda, ako ko moze da pomogne da pronadjem greske hvala mu velika. Ostalima isto hvala. Nako.
zadatak1:
Napisati dvije funkcije, koje ce uvijek duzinu stringa, kojeg ce kao parametar predati Jedna funkcija moze koristi petlje, a druga ne. Ne smiju se koristiti externe rutine kao strlen.
#include <iostream>
using namespace std;
int Petlja (char *String)
{
int Zaehler = 0;
for (int i=0; String [i]!='\0'; i++)
{
String [i];
Zaehler +=1;
}
return Zaehler;
}
int BezPetlje (char *String, int i)
{
if (String [i] =='\0'smiley return 0;
else
{
BezPetlje (String [i+1], i+1);
}
}
int main ()
{
char String [20];
cout << " Bitte geben Sie einen Text ein : \n";
cin >> String;
cout << "Laenge:" << Petlja (String);
cout << "Laenge:" << BezPetlje (String, 0);
return 0;
}
====================================
zadatak 2:
Napisati funkciju int ggt (int a, int b) koja ce najveci zajednicki djelilac naci od oba unesena broja. I to da se uradi bez petlji.
#include <iostream>
using namespace std;
int ggt (int a, int b);
int main ()
{
float a,b;
// gleda da li je prirodan broj, sve dok uslovi nisu pogresni
do
{
cout << "Geben Sie bitte ein a:";
cin >> a;
cout << "Geben Sie bitte ein b:";
cin >> b;
if (a-(int)a! = 0 || b = (int)b=!0 || a <= 0 || b <= 0);
cout <<"Falsch, bitte probieren Sie noch einmal!"<< endl;
}
while (a-(int)a!=0 || b-(int)b!=0 ||a <= 0 || b<=0);
cout<<"GGD von zwei nummer a und b ist:" <<ggt (a,b)<< endl;
return 0;
}
{
if (a==b) return a;
else
{
if (a>b) a=(a-b);
else b=(b-a);
return ggt (a,b) //rekurzija
}
==================================================
zadatak 3
Ovdje je niz Fn predstavljen kao Fn=2*Fn-1+Fn-2*Fn-3 (ovdje je F od n, F od n-1, i F od n-2, ne nadjoh kako da to postavim matematicki ispravno) sa pocetnim vrijednostima F0-1, F1=1, F2=1. Napisati funkciju koja ce vrijednost Fn, za bilo koje n izracunati:
#include <iostream>
using namespace std;
float folge (float n);
int main ()
{
cout <<"\n Program zu Berechnung der Folge an der Position n"<< endl;
int n;
char ant='j';
while (ant=='j')
{
cout << "\n Waehlen Sie ein positives n:";
cin >>n;
while (n>0)
{
cout << "\n Positive Zahl eingeben, bitte!";
cin >>n;
cout <<"\n Das Ergebnis der Folge an der Stelle n="<< endl;
cout <<" lautet";
cout <<" Nocheinmal versuchen";
cin >> ant;
}
return 0;
float folge (float n)
{
if (n==0 || n==1 || n==2) return (1); //vordefiniert;
else return (2*folge(n-1) + folge (n-2) * folge (n-3));
}
}
=====================================