2010-04-16 18:28:24

[C++] Zadanka z liceum

Paczka zadanek z informatyki z Liceum.

 

Zadania

1. Zadania proste

a) wczytaj po kolei liczby aż do momentu wystąpienia zera i wyświetl komunikat czy dana liczba jest większa czy mniejsza od zera.
b) zapytaj o ilość liczb (n) i wczytuj liczby wyświetlając komunikat, czy liczba jest z przedziału [-5, 5]
c) oblicz sumę n-wczytanych liczb
d) oblicz ilość liczb większych od zera
e) oblicz ilość liczb znajdujących się poza przedziałem (-3, 5)
f) znajdź maksymalną liczbę (jej wartość)
g) znajdź minimum
h) znajdź indeks maksimum
i) dla zadanego a znajdź wartość liczby w ciągu najdalszej od liczby a

 

2. Dla podanego n oblicz następujące wartości
a) s = 1^2 + 2^2 + 3^2 +...+ n^2
b) s = 1^2 - 2^2 + 3^2 -...+ (-1)^n * n^2
c) s = n! = 1 * 2 * 3 *...* n
d) s = 1/2 + 2/3 + 3/4 + 5/6 +...+ n/(n+1)
e) s = (1^2 + 1)/2^2 + (2^2 + 1)/3^2 +...+ (n^2 + 1)/(n+1)^2

 

 

Listingi

1. Zadania proste

a) wczytaj po kolei liczby aż do momentu wystąpienia zera i wyświetl komunikat czy dana liczba jest większa czy mniejsza od zera.

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int x;
    
    while(x != 0)
    {
        cin >> x;
        
        if(x > 0) 
            cout << "Liczba: " << x << " jest wieksza od zera" << endl;
        else 
            cout << "Liczba: " << x << " jest mniejsza od zera" << endl;
    }
    getch();
}
				

 

b) zapytaj o ilość liczb (n) i wczytuj liczby wyświetlając komunikat, czy liczba jest z przedziału [-5, 5]

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        if(x[i] < -5 || x[i] > 5)
            cout << "Liczba: " << x[i] << " nie jest z przedzialu [-5, 5]" << endl;
        else
            cout << "Liczba: " << x[i] << " jest z przedzialu [-5, 5]" << endl;         
    } 

    getch();
}
				

 

c) oblicz sumę n-wczytanych liczb

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, sum = 0;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        sum += x[i];        
    }
    
    cout << "Suma wczytanych liczb to: " << sum;

    getch();
}
				

 

d) oblicz ilość liczb większych od zera

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, counter = 0;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        if(x[i] > 0) 
            counter++;        
    }
    
    cout << "Ilosc liczb wiekszych od zera to: " << counter;

    getch();
}
				

 

e) oblicz ilość liczb znajdujących się poza przedziałem (-3, 5)

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, counter = 0;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        if(x[i] <= -3 || x[i] >= 5)
            counter++;   
    }
    
    cout << "Ilosc liczb z poza przedzialu (-3, 5) to: " << counter;

    getch();
}
				

 

 

f) znajdź maksymalną liczbę (jej wartość)

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, max, helper = 0;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        
        if(i == 0) 
            helper = x[0];
        else
        {
            if(x[i] > helper)
            {
                max = x[i];
                helper = x[i];               
            }
            else
                max = helper;
        }        
    }
    
    cout << "Maksymalna liczba to: " << max;

    getch();
}
				

 

 

g) znajdź minimum

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, min, helper = 0;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        
        if(i == 0) 
            helper = x[0];
        else
        {
            if(x[i] < helper)
            {
                min = x[i];
                helper = x[i];             
            }
            else
                min = helper;
        }   
    }
    
    cout << "Minimalna liczba to: " << min;

    getch();
}
				

 

 

h) znajdź indeks maksimum

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, max, helper = 0, index;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        
        if(i == 0) 
            helper = x[0];
        else
        {
            if(x[i] > helper)
            {
                max = x[i];
                helper = x[i];             
            }
            else
                max = helper;
        }
        if(max == x[i])
            index = i;     
    }
    
    cout << "Indeks maksymalnej liczby to: " << index;

    getch();
}
				

 

 

i) dla zadanego a znajdź wartość liczby w ciągu najdalszej od liczby a

				
#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;

int main(void)
{
    int n, i, a, index, farest, left, right;

    cout << "Ile liczb chcesz wczytac? ";
    cin >> n;
    cout << "Podaj wartosc liczby a: ";
    cin >> a;
    
    int x[n];
    
    for(i = 0; i < n; i++)
    {
        cin >> x[i];
        if(x[i] == a)
            index = i;
    }
    
    left = index+1;
    right = n - left + 1;
    
    if(left >= right)
        farest = x[0];
    else
        farest = x[n-1];
    
    cout << "Najdalsza liczba od a to: " << farest;

    getch();
}
				

 

2. Dla podanego n oblicz następujące wartości

 

a) s = 1^2 + 2^2 + 3^2 +...+ n^2

				
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main(void)
{
    int i, n, sum = 0;
    
    cout << "Podaj parametr n: ";
    cin >> n;
    
    for(i = 1; i <= n; i++)
    {
        sum += pow(i, 2);      
    }
    
    cout << "Wynik: " << sum;

    getch();
}
				

 

 

b) s = 1^2 - 2^2 + 3^2 -...+ (-1)^n * n^2

				
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main(void)
{
    int i, n, sum = 0;
    
    cout << "Podaj parametr n: ";
    cin >> n;
    
    for(i = 1; i <= n; i++)
    {
        sum += (pow(-1, i+1) * pow(i, 2));      
    }
    
    cout << "Wynik: " << sum;

    getch();
}
				

 

 

c) s = n! = 1 * 2 * 3 *...* n

				
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main(void)
{
    int i, n, sum = 1;
    
    cout << "Podaj parametr n: ";
    cin >> n;
    
    for(i = 1; i <= n; i++)
    {
        sum *= i;      
    }
    
    cout << "Wynik: " << sum;

    getch();
}
				

 

 

d) s = 1/2 + 2/3 + 3/4 + 5/6 +...+ n/(n+1)

				
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main(void)
{
    float i, sum = 0;
    int n;
    
    cout << "Podaj parametr n: ";
    cin >> n;
    
    for(i = 1; i <= n; i++)
    {
        sum += i/(i+1);
    }
    
    cout << "Wynik: " << sum;

    getch();
}
				

 

 

e) s = (1^2 + 1)/2^2 + (2^2 + 1)/3^2 +...+ (n^2 + 1)/(n+1)^2

				
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int main(void)
{
    float i, sum = 0;
    int n;
    
    cout << "Podaj parametr n: ";
    cin >> n;
    
    for(i = 1; i <= n; i++)
    {
        sum += (pow(i, 2)+1)/pow(i+1, 2);
    }
    
    cout << "Wynik: " << sum;

    getch();
}
				

Liczba wyswietlen: 936
Tagi: cpp, porady, liceum