Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zadanie z matury z rozszerzonej informatyki


DeeJey

Rekomendowane odpowiedzi

Opublikowano

Witam

W przyszłym roku podchodzę do matury z rozszerzonej informatyki. Miałem dzisiaj za zadanie na lekcji wykonać program o treści:

"Dla każdej liczby naturalnej n z przedziału od 1 do 12 wyznacz liczbę wierszy w pliku słowa.txt zawierających słowa n literowe. Wypisz w osobnych wierszach pary: liczba n oraz liczba wierszy z n literowymi słowami". Nauczyciel pozwolił mi znaleźć odpowiedź w internecie więc znalazłem ale za cholerkę nie rozumiem co się w tym kodzie dzieje.

 

1. Czy mogę was prosić o rady jak się przygotować do matury z tego przedmiotu?

2. Wytłumaczy mi ktoś o co chodzi w tym kodzie??

 

 

 

 

 

KOD:

 

#include <fstream>

int main()
{
	
	using namespace std;
	
	ifstream inFile;
	ofstream outFile;
	inFile.open("test.txt");
	outFile.open("zadanie5a.txt");
	
	string slowo;
	int tab[12] = {};
	
	while(inFile >> slowo)
	{
		int dlugoscSlowa = slowo.size();
		switch(dlugoscSlowa)
		{
			case 1:
				tab[0]++;
				break;
			case 2: 
				tab[1]++;
				break;
			case 3:
				tab[2]++;
				break;
			case 4:
				tab[3]++;
				break;
			case 5:
				tab[4]++;
				break;
			case 6:
				tab[5]++;
				break;
			case 7:
				tab[6]++;
				break;
			case 8:
				tab[7]++;
				break;
			case 9:
				tab[8]++;
				break;
			case 10:
				tab[9]++;
				break;
			case 11:
				tab[10]++;
				break;
			case 12:
				tab[11]++;
				break;								
		}
	}
	for(int i = 0; i < 12; i++)
	{
			outFile << i+1 << " " << tab[i] << endl;
	}
}

Opublikowano

1. Robić jak najwięcej przykładów samemu a nie ściągać z internetu.

2. Komentarze w kodzie:

#include <fstream>
using namespace std;

int main()
{	
        // zainicjowanie zmiennych przechowujących obiekt z plikem wejściowym i wyjściowym
	ifstream inFile;
	ofstream outFile;
        // wywołanie metod otwierających oba pliki
	inFile.open("test.txt");
	outFile.open("zadanie5a.txt");
	
        // zainicjowanie zmiennej przechowującej bieżącą linijkę z pliku
	string slowo;
        // zainicjowanie 12-elementowej tablicy do przechowywania liczby wystąpień kazdego ze słów
	int tab[12] = {};
	
        // pętla odczytująca plik wejściowy linijka po linijce aż do końca pliku
        // bieząca linijka jest zapisywana w zmiennej slowo
	while(inFile >> slowo)
	{
                // to się samo tłumaczy
		int dlugoscSlowa = slowo.size();

                // instrukcja warunkowa zwiększająca o jeden liczbę wystąpień słowa
                // o liczbie znaków zapisanej w dlugoscSlowa
		switch(dlugoscSlowa)
		{
                        // jeśli dlugoscSlowa = 1 to zwiększ liczbę w pierwszym elemencie tablicy wyników o 1
			case 1:
				tab[0]++;
				break;
			// jeśli dlugoscSlowa = 2 to zwiększ liczbę w drugim elemencie tablicy wyników o 1
                        case 2: 
				tab[1]++;
				break;
			// i tak dalej...
                        case 3:
				tab[2]++;
				break;
			case 4:
				tab[3]++;
				break;
			case 5:
				tab[4]++;
				break;
			case 6:
				tab[5]++;
				break;
			case 7:
				tab[6]++;
				break;
			case 8:
				tab[7]++;
				break;
			case 9:
				tab[8]++;
				break;
			case 10:
				tab[9]++;
				break;
			case 11:
				tab[10]++;
				break;
			case 12:
				tab[11]++;
				break;								
		}
	}
        
        // pętla zapisująca wyniki do pliku wyjściowego zgodnie z zadaniem
	for(int i = 0; i < 12; i++)
	{
			outFile << i+1 << " " << tab[i] << endl;
	}
}

Weź się chłopie za naukę bo to taki banał a ty się z tym męczysz. Rozumiem jeszcze napisać, ale jak nie umiesz rozszyfrować, to znaczy, że nawet składni nie znasz.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...