Witam. Mam pewien kłopot z ciągami w języku C++. Otóż kompetnie nie wiem jak się do teog zabrać a jutro mam z tego sprawdzian.... Nie krytykujcie mnie, ja po prostu tego nie rozumiem... Nie chce, aby ktoś za mnie zrobił program tylko żeby mi ktoś objaśnił jak to zrobic. Program mam zrobic za pomocą funkcji (funkcja przed głownym programem) Przykładowe programy w załączniku.
mało szczegółowy opis problemu, zacznę od początku. W języku C++, deklaracja funkcji ma postać:
typ_zwracanej_wartości NAZWA_FUNKCJI (typ_przyjmowanych argumentów ich nazwa).
Przykład: int Suma (int a, int b) { return a+b; } Funkcja suma zwracająca wartość typu int, przyjmująca jako argumenty formalne dwie zmiennej typu int.
przykładowe wywołanie funkcji Suma w programie.
#include <iostream> using std::cout; using std::cin;
int Suma ( int a, int b) { return a+b; }
int main (int, char*) { int war1, war2; cout<< "Podaj wartosci do zsumowania: "; cin >> war 1 >> war2; cout<<" Suma to: "<<Suma(war1, war2);
getchar(); }
Zadanie pierwsze to silnia. Program liczący silnię wyglądać może np. tak:
#include <iostream> #include <cstdio>
using namespace std; //____________________________________ int Silnia_i(int liczba) { long long silnia = 1; for(int i=1; i<=liczba; i++) { silnia *= i; } return silnia; } //________________________________________
int main (int argc, char* argv []) { int liczba; cout<<" Podaj n \n"; cin >> liczba; cout<<" Silnia z "<<liczba <<" to "; cout<<Silnia_i(liczba)<<"\t\n";
getchar(); getchar(); }
Zadanie 2 i 3 opiera się na podobnym schemacie, przy czym należy znać własności ciągów.
Zadanie 4 to zwykłe sumowanie odwrotności wartości licznika pętli for ;].
#include <iostream> #include <cstdio>
using namespace std;
int Suma_odw(int a) { int suma=0; for (int i = 0; i <= a; i++) { if (i % 3 == 0) { suma += -i; } } return suma; } int main (int, char*) { int granica; int suma;
cout<<" Podaj granice sumowania licz nautralnych podzilenych przez 3: "; cin >> granica; suma = Suma_odw(granica); cout<<" Suma odwrotnośći licz naturalnych od 1 od "<<granica<<"\n" <<" to " <<suma;
getchar(); getchar(); }
zad 5 to samo tylko, że i % 5;
#include <iostream> #include <cstdio>
using namespace std;
int Suma_odw(int a) { int suma=0; for (int i = 0; i <= a; i++) { if (i % 5 == 0) { suma += -i; } } return suma; } int main (int, char*) { int granica; int suma;
cout<<" Podaj granice sumowania licz nautralnych podzilenych przez 3: "; cin >> granica; suma = Suma_odw(granica); cout<<" Suma odwrotnośći licz naturalnych od 1 od "<<granica<<"\n" <<" to " <<suma;
getchar(); getchar(); }
zad 6 to to samo co 4 i 5 tyle, że musisz sprawdzić w pętli: if ((podana / podana = 1) && (podana % 1 == 0))
Reszta zadań to już tylko ciągi liczbowe - poczytaj o bibliotece cmath ;) .
mało szczegółowy opis problemu, zacznę od początku.
W języku C++, deklaracja funkcji ma postać:
typ_zwracanej_wartości NAZWA_FUNKCJI (typ_przyjmowanych argumentów ich nazwa).
Przykład:
int Suma (int a, int b)
{
return a+b;
}
Funkcja suma zwracająca wartość typu int, przyjmująca jako argumenty formalne dwie zmiennej typu int.
przykładowe wywołanie funkcji Suma w programie.
#include <iostream>
using std::cout;
using std::cin;
int Suma ( int a, int b)
{
return a+b;
}
int main (int, char*)
{
int war1, war2;
cout<< "Podaj wartosci do zsumowania: ";
cin >> war 1 >> war2;
cout<<" Suma to: "<<Suma(war1, war2);
getchar();
}
Zadanie pierwsze to silnia. Program liczący silnię wyglądać może np. tak:
#include <iostream>
#include <cstdio>
using namespace std;
//____________________________________
int Silnia_i(int liczba)
{
long long silnia = 1;
for(int i=1; i<=liczba; i++)
{
silnia *= i;
}
return silnia;
}
//________________________________________
int main (int argc, char* argv [])
{
int liczba;
cout<<" Podaj n \n";
cin >> liczba;
cout<<" Silnia z "<<liczba <<" to ";
cout<<Silnia_i(liczba)<<"\t\n";
getchar();
getchar();
}
Zadanie 2 i 3 opiera się na podobnym schemacie, przy czym należy znać własności ciągów.
Zadanie 4 to zwykłe sumowanie odwrotności wartości licznika pętli for ;].
#include <iostream>
#include <cstdio>
using namespace std;
int Suma_odw(int a)
{
int suma=0;
for (int i = 0; i <= a; i++)
{
if (i % 3 == 0)
{
suma += -i;
}
}
return suma;
}
int main (int, char*)
{
int granica;
int suma;
cout<<" Podaj granice sumowania licz nautralnych podzilenych przez 3: ";
cin >> granica;
suma = Suma_odw(granica);
cout<<" Suma odwrotnośći licz naturalnych od 1 od "<<granica<<"\n" <<" to " <<suma;
getchar();
getchar();
}
zad 5 to samo tylko, że i % 5;
#include <iostream>
#include <cstdio>
using namespace std;
int Suma_odw(int a)
{
int suma=0;
for (int i = 0; i <= a; i++)
{
if (i % 5 == 0)
{
suma += -i;
}
}
return suma;
}
int main (int, char*)
{
int granica;
int suma;
cout<<" Podaj granice sumowania licz nautralnych podzilenych przez 3: ";
cin >> granica;
suma = Suma_odw(granica);
cout<<" Suma odwrotnośći licz naturalnych od 1 od "<<granica<<"\n" <<" to " <<suma;
getchar();
getchar();
}
zad 6 to to samo co 4 i 5 tyle, że musisz sprawdzić w pętli:
if ((podana / podana = 1) && (podana % 1 == 0))
Reszta zadań to już tylko ciągi liczbowe - poczytaj o bibliotece cmath ;) .