import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main
{
public static void main(String args[])
{
BufferedReader brIn = new BufferedReader(new InputStreamReader(System.in));
int zliczacz = 0;
String line = " ";
try
{
{
System.out.println("Wprowadz tekst:");
line = brIn.readLine();
System.out.println("Wprowadzona linia to: " +line);
}
}
catch(IOException e)
{
System.out.println("Bład");
}
for (int i = 0; i < line.length(); i++)
{
zliczacz++;
}
System.out.println("Tekst zawiera: "+zliczacz+" znak");
}
}
Tutaj będę umieszczał programy mojego autorstwa zrealizowane głównie w języku c++/c.
lecz wbrew temu, co o niej wiemy.
Fox Mulder w serialu „Z archiwum X”
30.12.08
Zliaczanie liter w wyrazie JAVA
21.12.08
Wyszukiwanie wzorca we wprowadzonym tekście JAVA
import java.io.*;
public class Main {
public static void main(String args[])
{
BufferedReader brIn = new BufferedReader(new InputStreamReader(System.in));
int pozycja = 0;
String line = " ";
String szukacz = " ";
try
{
{
System.out.println("Wprowadz tekst:");
line = brIn.readLine();
System.out.println("Wprowadzona linia to: " +line);
System.out.println("Czego szukasz");
szukacz = brIn.readLine();
}
}
catch(IOException e)
{
System.out.println("Bład");
}
for (int i = 0; i < line.length(); i++)
{
pozycja = line.indexOf(szukacz);
if (pozycja > 0)
{
System.out.println("Szukana fraza wystepuje na pozycji: ");
System.out.println(+(pozycja+1));
break;
}
else
{
System.out.println("Szukana fraza nie wystepuje");
break;
}
}
}
}
27.11.08
Wyszukiwanie tekstu w wprowadzonym tekście
import java.io.*;
public class Main {
public static void main(String args[])
{
BufferedReader brIn = new BufferedReader(new InputStreamReader(System.in));
int pozycja = 0;
String line = " ";
String szukacz = " ";
try
{
{
System.out.println("Wprowadz tekst:");
line = brIn.readLine();
System.out.println("Wprowadzona linia to: " +line);
System.out.println("Czego szukasz");
szukacz = brIn.readLine();
}
}
catch(IOException e)
{
System.out.println("Bład");
}
for (int i = 0; i < line.length(); i++)
{
pozycja = line.indexOf(szukacz);
if (pozycja > 0)
{
System.out.println("Szukana fraza wystepuje na pozycji: ");
System.out.println(+(pozycja+1));
break;
}
else
{
System.out.println("Szukana fraza nie wystepuje");
break;
}
}
}
}
23.11.08
Losowanie liczb i sortowanie bąbelkowe JAVA
class Main
{
public static void main(String args[])
{
int a;
LosujeSortuje klasa = new LosujeSortuje();
WezLiczbe zaczytaj = new WezLiczbe();
System.out.println("Podaj liczbe elementow tablicy: ");
a = (int)zaczytaj.getDouble("n = ");
klasa.losuje(a);
System.out.println("Elementy tablicy przed posortowaniem:");
klasa.wyswietl(a);
System.out.println("Elementy tablicy po sortowaniu:");
klasa.sortuje(a);
klasa.wyswietl(a);
}
}
Klasa LosujeSortuje:
import java.util.Random;
public class LosujeSortuje {
int t[];
public void losuje(int n)
{
this.t = new int[n];
for (int i = 0; i < n; i++)
{
Random random = new Random();
this.t[i] = random.nextInt();
}
}
public void wyswietl(int n)
{
for (int i = 0; i < n; i++)
{
System.out.println(+this.t[i]);
}
}
public void sortuje(int n)
{
for (int i = n-1; i > 0; i--)
for (int j = 0; j < i; j++)
{
if (this.t[j] > this.t[j + 1])
{
int temp;
temp = this.t[j];
this.t[j] = this.t[j + 1];
this.t[j + 1] = temp;
}
}
}
}
Klasa WezLiczbe
class WezLiczbe {
public double getDouble(String s)
{
char c;
StringBuffer buf = new StringBuffer();
String sx;
double x;
System.out.print(s);
// pobierz x z konsoli jako ciąg znaków
try
{
while ((c = (char) System.in.read() ) != '\n')
buf.append(c);
// przekonwertuj x z typu String na typ double
sx = buf.toString();
x = Double.parseDouble( sx );
} catch (java.io.IOException e) { x = 0; };
buf.setLength(0); // oczyść bufor
return x;
}
}
12.11.08
Równanie kwadratowe zapisane w JAVIE
public class Main {
public static void main (String args[])
{
double a;
double b;
double c;
double x1, x2, delta, pierwiastek;
WezLiczbe zaczytaj = new WezLiczbe();
System.out.println("PIERWIASTKÓW RÓWNANIA KWADRATOWEGO");
System.out.println();
System.out.println("Podaj parametry równania ");
a = (double)zaczytaj.getDouble("a = ");
b = (double)zaczytaj.getDouble("b = ");
c = (double)zaczytaj.getDouble("c = ");
delta = (b*b) - (4*c*a);
pierwiastek = Math.sqrt(delta);
//przypadek równania liniowego
if (a == 0)
{
System.out.println("Równanie liniowe");
System.out.println("y = "+b+"*x+"+c);
System.out.println("x = " +((-c)/b));
}
//przypadek gdy delta mniejsza od zera
if (delta < 0)
{
System.out.println("Brak rozwiązań");
}
if (delta == 0)
{
System.out.println("Jeden pierwiastek x = " +((-b)/(2*a)));
}
if (delta > 0)
{
x1 = (-b + pierwiastek)/(2*a);
x2 = (-b - pierwiastek)/(2*a);
System.out.println("Dwa pierwiastki");
System.out.println(+x1);
System.out.println(+x2);
}
}
}
KLASA WEŹ LICZBĘ (do umieszczenia w odrębnym pliku)
class WezLiczbe {
public double getDouble(String s)
{
char c;
StringBuffer buf = new StringBuffer();
String sx;
double x;
System.out.print(s);
// pobierz x z konsoli jako ciąg znaków
try
{
while ((c = (char) System.in.read() ) != '\n')
buf.append(c);
// przekonwertuj x z typu String na typ double
sx = buf.toString();
x = Double.parseDouble( sx );
} catch (java.io.IOException e) { x = 0; };
buf.setLength(0); // oczyść bufor
return x;
}
}
7.10.08
Wybór największej liczby
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "Podaj pierwsza liczbe: ";
cin >> a;
cout << endl;
cout << "Najwieksza liczba jest " << a;
cout << endl;
cout << "Podaj druga liczbe: ";
cin >> b;
cout << endl;
if (a > b)
{
cout << "Najwieksza liczba jest: " << a;
cout << endl;
}
else
{
cout << "Najwieksza liczba jest: " << b;
cout << endl;
a = b;
}
cout << "Podaj trzecia liczbe: ";
cout << endl;
cin >> c;
if (c > a)
{
cout << "Najwieksza liczba jest: " << c;
cout << endl;
}
else
{
cout << "Najwieksza liczba jest: " << a;
cout << endl;
}
system("PAUSE");
return 0;
}
2.10.08
Zliczanie liter w wyrazie
#include <iostream>
#include <string>
using namespace std;
int main()
{
string strWyraz;
char chLitera;
int nLicznik = 0;
cout << "Podaj wyraz: ";
cin >> strWyraz;
cout << "Podaj jaka litere chcesz zliczyc: ";
cin >> chLitera;
for (int i = 0; i <= strWyraz.length(); ++i)
{
if (strWyraz[i] == chLitera)
++nLicznik;
}
cout << "Podana litera wystepuje " << nLicznik << " razy";
cout << endl;
system("PAUSE");
return 0;
}
Obliczanie pierwiastków równania kwadratowego
#include <iostream>
#include <cmath>
using namespace std;
void BrakRozwiazan()
{
cout << "Rownanie nie posiada rozwiazan";
}
void JednoRozwiazanie(float A, float B, float C)
{
float fWynik = (-B) / (2 * A);
cout << "Rownanie ma jedno rozwiazanie X = " << fWynik;
}
void DwaRozwiazania(float A, float B, float C, float Pierwiastek)
{
float fWynik1 = (-B + Pierwiastek) / (2 * A);
float fWynik2 = (-B - Pierwiastek) / (2 * A);
cout << "Rownanie ma dwa rozwiazania \n";
cout << "X1 = " << fWynik1;
cout << endl;
cout << "X2 = " << fWynik2;
}
int main()
{
float fA, fB, fC;
float fDelta, fPierwiastek;
cout << "Podaj parametry rownania kwadratowego postaci \n";
cout << "A * X^2 + B * X + C = 0 \n";
cout << "A =";
cin >> fA;
cout << "B =";
cin >> fB;
cout << "C =";
cin >> fC;
fDelta = (fB * fB) - 4 * fA * fC;
fPierwiastek = sqrt(fDelta);
if (fDelta < 0)
{
BrakRozwiazan();
}
if (fDelta == 0)
{
JednoRozwiazanie(fA, fB, fC);
}
if (fDelta > 0)
{
DwaRozwiazania(fA, fB, fC, fPierwiastek);
}
cout << endl;
system("PAUSE");
return 0;
}
1.10.08
Pierwsza gra zgadywanka
#include <iostream>
#include <ctime>
#include <conio.h>
using namespace std;
int main()
{
int nLiczydlo = 0;
int nLiczba;
srand ((int) time(NULL));
int nWylosowana = rand() % 100 + 1;
cout << "Podaj liczbe: \n";
cin >> nLiczba;
while (nWylosowana != nLiczba)
{
if (nLiczba > nWylosowana)
{
cout << "podana liczba jest za duza ";
}
else
{
cout << "podana liczba jest za mala ";
}
cout << "sprobuj jeszcze raz: \n";
cin >> nLiczba;
nLiczydlo++;
}
cout << "Za " << nLiczydlo + 1 << " razem udalo ci sie zgadnac";
system("PAUSE");
return 0;
}
30.9.08
Proste przyporządkowanie
#include <iostream>
using namespace std;
int main()
{
int nLiczba;
cout << "Podaj liczbe calkowita: \n";
cin >> nLiczba;
if (nLiczba < 0 && nLiczba <= -10 && nLiczba > -100)
{
cout << "Podales liczbe ujemna dwucyfrowa \n";
}
if (nLiczba <0 && nLiczba > -10)
{
cout << "Podales liczbe ujemna jednocyfrowa \n";
}
if (nLiczba > 0 && nLiczba >= 10 && nLiczba < 100)
{
cout << "Podales liczbe dodatnia dwucyfrowa \n";
}
if (nLiczba >= 0 && nLiczba < 10)
{
cout << "Podales liczbe dodatnia jednocyfrowa \n";
}
if (nLiczba <= -100 && nLiczba >= 100)
{
cout << "Liczba nie pasuje do zadnej opcji \n";
}
system("PAUSE");
return 0;
}
26.9.08
Pole prostokąta
#include <iostream>
float Pole (float fBokA, float fBokB);
float Obwod (float fBokA, float fBokB);
int main()
{
float a, b;
cout << "Podaj dlugosc boku A: \n";
cin >> a;
cout << "Podaj dlugosc boku B: \n";
cin >> b;
cout << "Pole prostokata wynosi: \n" << Pole(a, b);
cout << endl;
cout << "Obowd prostokata wynosi: \n" << Obwod(a, b);
cout << endl;
system("PAUSE");
return 0;
}
float Pole(float fBokA, float fBokB)
{
float fPole;
fPole = fBokA * fBokB;
return fPole;
}
float Obwod (float fBokA, float fBokB)
{
float fObwod;
fObwod = (2 * fBokA) + (2 * fBokB);
return fObwod;
}
Dodawanie
#include <iostream>
using namespace std;
void Wynik(int nWartosc1, int nWartosc2);
int main()
{
int nLiczba1, nLiczba2;
cout << "Podaj pierwsza liczbe : \n";
cin >> nLiczba1;
cout << "Podaj druga liczbe: \n";
cin >> nLiczba2;
Wynik(nLiczba1, nLiczba2);
system("PAUSE");
return 0;
}
void Wynik(int nWartosc1, int nWartosc2)
{
int nWynik = nWartosc1 + nWartosc2;
cout << "Wynik dodawania wynosi: " << nWynik;
cout endl;
}
Menu
/*Przykład prostego programu generującego menu, przerwanie programu następuje po
wybraniu liczby 4
*/
#include <iostream>
using namespace std;
int main()
{
int wybor;
do
{
cout << "wybierz nr opcji: \n";
cout << "1 - opcja nr jeden\n";
cout << "2 - opcja nr dwa\n";
cout << "3 - opcja nr trzy\n";
cout << "4 - koniec\n";
cin >> wybor;
switch(wybor)
{
case 1:
cout << "wybrales opcje jeden\n";
break;
case 2:
cout << "wybrales opcje dwa\n";
break;
case 3:
cout << "wybrales opcje trzy\n";
break;
case 4:
cout << "KONIEC\n";
system("PAUSE");
return 0;
default:
cout << "zly numer!!!\n";
break;
}
} while (wybor != 4);
return 0;
}
23.9.08
Prosta konwersja
#include <iostream>
/*
Konwersja z liczby naturalnej na liczbe binarna
*/
#include <cmath>
using namespace std;
int main()
{
float liczba_bitow, dwa;
float wynik;
float liczba2;
int liczba;
int i, reszta;
int tablica[30];
dwa = 2;
cout << "podaj liczbe: \n";
cin >> liczba;
// rzutowanie, moga sie pojawiac ostrzezenia
liczba2 = liczba;
// obliczenie liczby bitow
wynik = (log10(liczba2 - 1) / log10(dwa)) + 1;
liczba_bitow = ceil(wynik);
// wlasciwe obliczenia
for (i = 0; i < liczba_bitow; i++)
{
reszta = liczba % 2;
liczba /= 2;
tablica [i] = reszta;
}
for (i = (liczba_bitow - 1); i >= 0; i--)
{
cout << tablica[i];
cout << " ";
}
system("PAUSE");
return 0;
}
19.9.08
Potęga dowlonej liczby naturalnej
/*
obliczanie potegi dowolnej liczby naturalnej
Zachar
www.programowanie-w-c.blogspot.com
*/
#include <iostream>
using namespace std;
int main()
{
int liczba, wynik = 1, wykladnik;
cout << "podaj liczbe: \n";
cin >> liczba;
cout << "do ktorej potegi ma byc podniesiona? \n";
cin >> wykladnik;
if (wykladnik == 0)
{
cout << "1";
cout << endl;
}
else
{
for (int i = 0; i < wykladnik; i++)
{
wynik = wynik * liczba;
}
cout << wynik;
cout << endl;
}
system("PAUSE");
return 0;
}
Silnia
/*
Zachar, obliczanie silni
www.programowanie-w-c.blogspot.com
*/
#include <iostream>
using namespace std;
int main()
{
float liczba, silnia = 1;
cout << "Podaj liczbe: \n";
cin >> liczba;
if (liczba == 0)
{
cout << "1";
cout << endl;
}
else
{
for (int i = 1; i <= liczba; i++)
{
silnia *= i;
}
cout << silnia;
cout << endl;
}
system("PAUSE");
return 0;
}