Liczba inwersji

Pamięć 16 MB. Czas 1 sek. Permutacja liczb całkowitych od 1 do n jest sekwencją taką, że każda liczba całkowita od 1 do n jest członem sekwencji dokładnie jeden raz. Dwie liczby w permutacji tworzą inwersję, gdy większa jest przed mniejszą. Na przykład, istnieje łącznie 10 inwersji w permutacji 4 2 7 1 5 6 3, utworzonej przez następujące pary: 4-2, 4-1, 4-3, 2-1, 7-1, 7-5, 7 -6, 7-3, 5-3, 6-3. Napisz program, który oblicza liczbę inwersji w danej permutacji.


Czytaj dalej…


Lekcja 1 – Instalacja i konfiguracja Visual Studio Code

Kompilatorem jaki wybrałem do pracy podczas tych lekcji to Visual Studio Code. Pobieramy program ze strony code.visualstudio.com. Jest to niewielki plik do pobrania, więc możesz zainstalować go w ciągu kilku minut. Na stronie tej również dostaniesz wiele przewodników oraz rozszerzeń (extensions). Rozszerzenia umożliwiają dodawanie dodatków.
Dlaczego właśnie Visual Studio Code? Pierwszym wyborem był CodeBlocks, ale nie jest to program, który jest tak szybko rozwijany jak proponowany przeze mnie program – VSC. Po większych i mniejszych poprawkach jest prawie środowiskiem IDE.
Czytaj dalej…


Lekcja 2 – Mój pierwszy projekt

Gdy wreszcie zainstalowaliśmy i skonfigurowaliśmy VS Code, możemy przystąpić do właściwej części nauki programowania, czyli kodowania. Aby dodać do naszego projektu pusty plik z kodem źródłowym, wybierz pozycję menu File|New File. W okienku, które się pojawi będziesz miał pustą stronę. Zapisz ten plik jako nazwa.cpp, ważne, aby podać rozszerzenie pliku C++ File (.cpp), a jako nazwę wpisz po prostu main. W ten sposób utworzysz plik main.cpp, który wypełnimy kodem naszego programu.
Czytaj dalej…


Zadanie do rozwiązania

W pliku zadanie_1.txt wpisz kolejno 100 elementów losowych z zakresu od 0 do 10000.

  1. do pliku odpA.txt wpisz liczby z pliku zadanie_1.txt wszystkie liczy parzyste;
  2. do pliku odpB.txt wpisz 10 elementów pierwszych nieparzystych znajdujących się w pliku zadanie_1.txt;
  3. do pliku odpC.txt wpisz kwadraty liczb znajdujących się w pliku zadanie_1.txt.


Czytaj dalej…


Generator hasła z ASCII [c++]

Zadanie:
Generator losowych znaków z tablicy ASCII tworząc hasło o długości od 12 do 26 znaków.

Rozwiązanie:

#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <string>
using namespace std;

int main()
{ 
  srand(time(NULL));
  int length_password = rand()%15+12;
  cout << length_password << endl;
  string password = "";
  for (int i=0; i<length_password; i++)
  {
    password = password + char(rand()%94+33);
  }
  cout << password << endl;
  return 0;
}

Zadanie z tablicą nie mniejszą niż 5 elementową z nawami miast [c++]

Zadanie:
Zdefiniuj i zadeklaruj tablicę nie mniejszą niż 5 elementową z nawami miast. Wybierz losowo po jednej literze z każdego miasta tworząc ciąg znaków. Wyświetl powstały napis na zakończenie.

Rozwiązanie:

#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <string>
using namespace std;
int main()
{ 
  srand(time(NULL));
  string nazwa[5]={"Sopot", "Gdynia","Olecko","Puck","Hel"};
  string napis = "";
  for (int j=0; j<5; j++){
    int d = nazwa[j].length();
    napis = napis + nazwa[j][rand()%d];
  }
  cout << napis << endl; 
  return 0;
}