profil

Podstawy programowania w C++ - kilka zadań z rozwiązaniami na instrukcję for.

poleca 82% 3053 głosów

Treść
Grafika
Filmy
Komentarze

Programy napisane w dev.cpp, ale powinny skompilować się na innych komplilatorach. Treść zadań jako komentarz w programie.


ZADANIE 1

#include
using namespace std;
int main()
{
/* PROGRAM RYSUJĄCY NA EKRANIE POZIOMĄ KRESKĘ (ZE ZNAKÓW MINUS)
O DŁUGOŚCI ZADAWANEJ Z KLAWIATURY. */


int dlugosc;

cout << endl << "Podaj dlugosc kreski: ";
cin >> dlugosc;
while (dlugosc < 0)
{
cout << "Dlugosc musi byc wieksza od 0 !!!" << endl;
cout << "Nowa dlugosc: ";
cin >> dlugosc;
}
cout << endl;

for (int i=1; i <= dlugosc; i++)
{
cout << "-";
}

char znak;
cin >> znak;
}



ZADANIE 2

#include
#include
using namespace std;
int main()
{
/* PROGRAM WYŚWIETLAJĄCY NA EKRANIE SEKWENCJE KOLEJNYCH LICZB CAŁKOWITYCH
NAJPIERW OD 1 DO 10, A NASTĘPNIE OD 10 DO 1. DO SPOWOLNIENIA OPERACJI WYDRUKU DOWOLNA DODATKOWA PĘTLA. NA ZAKOŃCZENIE JESZCZE JEDNA PĘTLA,
KTÓRA SPOWODUJE, ŻE CAŁY PROCES ODLICZANIA POTÓRZY SIĘ TRZY RAZY. */


float liczba= 3;

for (int k = 1; k <= 3; k++)
{
cout << endl;
cout << endl << "Petla odliczajaca od 1 do 10" << endl;
for (int i = 1; i <= 10; i++)
{
for (int j = 1; j <= 10000000; j++)
{
sqrt(liczba);
}
cout << i << " ";
}
cout << endl;

cout << endl << "Petla odliczajaca od 10 do 1" << endl;
for (int i = 10; i >= 1; i--)
{
for (int j=1; j <= 10000000; j++)
{
sqrt(liczba);
}
cout << i << " ";
}
}
cout << endl << "Koniec :)";


char znak;
cin >> znak;
}



ZADANIE 3

#include
using namespace std;
int main()
{
/* PROGRAM WYŚWIETLAJĄCY NA EKRANIE KOLEJNE 100 LICZB PARZYSTYCH OD ZADANEJ LICZBY */


int pocz;

cout << endl << "Podaj liczbe calkowita od ktorej chcesz zobaczyc liczby parzyste: ";
cin >> pocz;

if ((pocz % 2) == 0)
{
for (int i= pocz+1; i <= pocz + 200; i++)
{
if ((i % 2) == 0)
{
cout << i << " ";
}
}
}
else
{
for (int i= pocz; i <= pocz + 200; i++)
{
if ((i % 2) == 0)
{
cout << i << " ";
}
}
}

char znak;
cin >> znak;
}



ZADANIE 4

#include
using namespace std;
int main()
{
/* PROGRAM WYŚWIETLAJĄCY NA EKRANIE KOLEJNE LICZBY CAŁKOWITE TYPU INT (DO 100),
KTÓRE SĄ PODZIELNE BEZ RESZTY PRZEZ n (GDZIE n JEST ZADAWANE Z KLAWIATURY) */


int n;

cout << endl << "Podaj n: ";
cin >> n;
cout << "Liczby podzielne bez reszty przez " << n << " to:" << endl;

for (int i=0; i <= 100; i++)
{
if ((i % n) == 0)
{
cout << i << " ";
}
}

char znak;
cin >> znak;
}



ZADANIE 5

#include
using namespace std;
int main()
{
/* PROGRAM WYŚWIETLAJĄCY NA EKRANIE "CHOINKĘ" O WYSOKOŚCI ZADAWANEJ Z KLAWIATURY.

___*
__***
_*****
*******
___#___________ */


int h;

cout << "Wprowadz wysokosc choinki: ";
cin >> h;
cout << endl;

for (int i = 1; i <= h-1; i++)
{
for (int k = 1 ; k <= h-i-1 ; k++)
{
cout << " ";
}
for (int j = 1; j <= 2*i-1 ; j++)
{
cout << "*";
}
cout << endl;
}

for (int pien = 1; pien <= h-2; pien++)
{
cout << " ";
}
cout << "#";

char znak;
cin >> znak;
}



ZADANIE 6

#include
using namespace std;
int main()
{
/* PROGRAM WCZYTUJĄCY KOLEJNE LICZBY Z KLAWIATURY I KOŃCZĄCY SIĘ GDY:
- SUMA TYCH LICZB PRZEKROCZY 100,
- ILOŚĆ PODANYCH LICZB UJEMNYCH PRZEKROCZY 10,
- DWIE KOLEJNE PODANE LICZBY BEDĄ MIAŁY IDENTYCZNĄ WARTOŚĆ. */


float tosamo, liczba;
float suma = 0;
int ujemne = 0;
bool obok = false;

do
{
cout << endl << "Podaj liczbe: ";
cin >> liczba;

if (tosamo == liczba)
{
obok = true;
}

suma += liczba;

if (liczba < 0)
{
ujemne++;
}

tosamo = liczba;
}
while ((suma < 100) && (ujemne < 10) && (obok != true));

cout << endl << "Przerwano wczytywanie z powodu: " << endl;
if (suma > 100)
{
cout << "Suma liczb przekroczyla 100." << endl;
}
if (ujemne > 10)
{
cout << "Podales ponad 10 liczb ujemnych." << endl;
}
if (obok == true)
{
cout << "Podales po sobie dwie takie same liczby.";
}

char znak;
cin >> znak;
}



ZADANIE 7

#include
using namespace std;
int main()
{
/* PROGRAM WCZYTUJĄCY ZNAKI Z KLAWIATURY AŻ DO MOMENTU NACIŚNIĘCIA KLAWISZA 'k'.
W TRAKCIE WCZYTYWANIA NALEŻY ZLICZAĆ ILOŚĆ PODANYCH ZNAKÓW.
NA ZAKOŃCZENIE NALEŻY WYŚWIETLIĆ INFORMACJE:
- ILE BYŁO PODANYCH ZNAKÓW (PRZED NACIŚNIĘCIEM 'k')
- ILE Z TYCH ZNAKÓW BYŁO DUŻYMI LITERAMI. */


char klawisz;
int licznik = 0;
int licznik1 = 0;

cout << "Podawaj klawisze: " << endl;
cout << endl;
while (klawisz != 'k')
{
cin >> klawisz;
cout << "Wprowadziles: " << klawisz << endl;
licznik++;
if ((klawisz >= 'A') && (klawisz <= 'Z'))
{
licznik1++;
}
}
cout << endl << "Podales " << (licznik-1) << " znakow." << endl;
cout << "Podales " << licznik1 << " duzych liter.";

char znak;
cin >> znak;
}



ZADANIE 8

#include
using namespace std;
int main()
{
/* PROGRAM WCZYTUJĄCY LICZBY Z KLAWIATURY,
Z JEDNOCZESNYM ZADAWANIEM PYTANIA "CZY KONIEC WPROWADZANIA T/N ?"
NA ZAKOŃCZENIE PROGRAM POWINIEN WYŚWIETLIĆ WARTOŚĆ:
ŚREDNIĄ, MAKSYMALNĄ, MINIMALNĄ Z PODANYCH LICZB. */


float liczba;
float min=900000000;
float max= -900000000;
float wynik =0;
int licznik =0;
char klawisz;

do
{
cout << "Wprowadz liczbe: ";
cin >> liczba;
cout << "Czy koniec wprowadzania? t/n" << endl;
cin >> klawisz;

wynik =+ liczba;
licznik++;

if (liczba < min)
{
min = liczba;
}
if (liczba > max)
{
max = liczba;
}
while ((klawisz != 'n') && (klawisz != 't'))
{
cout << "Jesli nie chcesz zakonczyc wprowadzania wcisnij klawisz n !!!" << endl;
cin >> klawisz;
}
}
while (klawisz != 't');

cout << "Skoro napisales t to konczymy" << endl;

cout << endl << "Srednia liczb wynosi: " << (wynik / licznik) << endl;
cout << "Najmniejsza z tych liczb wynosi: " << min << endl;
cout << "Najwieksza z tych liczb wynosi: " << max;

char znak;
cin >> znak;
}



ZADANIE 9

#include
using namespace std;
int main()
{
/* PROGRAM WYZNACZAJĄCY ITERACYNIE (NUMERYCZNIE) SUMĘ SZEREGU:
1/x + 1/(x^2) + 1/(x^3) + 1/(x^4) + . . . + 1/(x^n). */


float q, x, suma;
int n;

cout << "Podaj n: ";
cin >> n;
while (n <= 0)
{
cout << "n musi byc dodatnie !!!" << endl;
cout << "Nowe n: ";
cin >> n;
}
cout << endl;
cout << "Podaj x: ";
cin >> x;
cout << endl << "Zatem pierwszy wyraz szeregu wynosi: " << (1/x);
q = (1/x);
cout << endl << "Ostatni wyraz szeregu wynosi: ";
suma = q;
for (int i = 1; i <= (n-1); i++)
{
q *= (1/x);
suma += q;
}
cout << q;
cout << endl << "Suma wyrazow szeregu wynosi: " << suma;

char znak;
cin >> znak;
}

Czy tekst był przydatny? Tak Nie

Czas czytania: 6 minut