Polish version    English version  
  XVIII OI 2010/2011


 Aktualności
 O olimpiadzie
 Komitety
 XVIII OI 2010/2011
Terminarz
Zadania
II Etap
Przepisy
Wyniki I etapu
Wyniki II etapu
Dla zawodników
Przydatne zasoby
 Historia OI
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
Przykładowe programy


Poniżej prezentujemy rozwiązania bardzo prostych zadań:

Kwadrat (skrót: kwa)

Treść zadania

Napisz program, który wczytuje ze standardowego wejścia liczbę całkowitą x (-100 <= x <= 100) i wypisuje na standardowe wyjście jej kwadrat.

Rozwiązanie w C (plik kwa.c)

 #include <stdio.h>
 
 int main()
 {
   int liczba;
   scanf("%d", &liczba);
   printf("%d\n", liczba * liczba);
   return 0;
 }

Rozwiązanie w C++ (plik kwa.cpp)

 #include <cstdio>
 using namespace std;
 
 int main()
 {
   int liczba;
   scanf("%d", &liczba);
   printf("%d\n", liczba * liczba);
   return 0;
 }

Rozwiązanie w C++ z użyciem strumieni (plik kwa.cpp)

 #include <iostream>
 using namespace std;
 
 int main()
 {
   ios_base::sync_with_stdio(0);
   int liczba;
   cin >> liczba;
   cout << liczba * liczba << endl;
   return 0;
 }
W przypadku używania strumieni wyłączenie synchronizacji wejścia/wyjścia przy pomocy polecenia ios_base::sync_with_stdio(0); jest konieczne ze względów wydajnościowych.

Rozwiązanie w Pascalu (plik kwa.pas)

 var
   liczba:integer; 
 
 begin
   Read(liczba);
   Writeln(liczba * liczba);
 end.

Odwrotność (skrót: odw)

Treść zadania

Napisz program, który wczytuje ze standardowego wejścia jedno słowo długości od 1 do 100 znaków i wypisuje na standardowe wyjście słowo o odwrotnej kolejności liter.

Rozwiązanie w C (plik odw.c)

 #include <stdio.h>
 
 #define MAX_DLUGOSC 100
 
 int main()
 {
   char slowo[MAX_DLUGOSC+1];
   int i;
   scanf("%s", slowo);
   for (i = 0; slowo[i] != 0; ++i);
   while (i > 0) printf("%c", slowo[--i]);
   printf("\n");
   return 0;
 }

Rozwiązanie w C++ (plik odw.cpp)

#include <cstdio>
#define MAX_DLUGOSC 100
using namespace std;

int main()
{
  char slowo[MAX_DLUGOSC+1];
  int i;
  scanf("%s", slowo);
  for(i = 0; slowo[i] != 0; ++i);
  while(i--)
    printf("%c", slowo[i]);
  printf("\n");
  return 0;
}

Rozwiązanie w C++ z użyciem strumieni (plik odw.cpp)

#include <iostream>
#define MAX_DLUGOSC 100
using namespace std;

int main()
{
  ios_base::sync_with_stdio(0);
  char slowo[MAX_DLUGOSC+1];
  int i;
  cin >> slowo;
  for(i = 0; slowo[i] != 0; ++i);
  while(i--)
    cout << slowo[i];
  cout << endl;
  return 0;
}
W przypadku używania strumieni wyłączenie synchronizacji wejścia/wyjścia przy pomocy polecenia ios_base::sync_with_stdio(0); jest konieczne ze względów wydajnościowych.

Rozwiązanie w Pascalu (plik odw.pas)

 var
   slowo:string;
   i:integer;
 
 begin
   Read(slowo);
   for i := length(slowo) downto 1 do
     Write(slowo[i]);
   Writeln;
 end.



Wersja do druku