• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Matura informatyka 2014 poziom rozszerzony zad 5 c

Cloud VPS
0 głosów
1,621 wizyt
pytanie zadane 19 marca 2016 w C i C++ przez Hannn Nowicjusz (190 p.)
Jest to zadanie 5 podpunkt c z matury z informatyki 
http://cke.edu.pl/images/_EGZAMIN_MATURALNY_OD_2015/Arkusze_egzaminacyjne/2014/informatyka_PR_2_A1.pdf
Czy ktoś mi może powiedzieć dlaczego to nie działa ? 

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
int main()
{
using namespace std;

fstream inFile;
ofstream outFile;
inFile.open ("NAPIS.txt");
outFile.open ("zadanie6c.txt");


string liczba;
vector<string> liczbaa;
vector<string> liczby;
while(inFile>>liczba)
{	liczbaa.clear();
	liczbaa.push_back(liczba);

	
		if(liczbaa[0]==liczba)
			{
				liczby.push_back(liczbaa[0]);
			}
	
	}
while(inFile>>liczba)
{
	for(int i=0;i<liczby.size();i++)
	{
	if(liczby[i]==liczba)
	{
		liczby.erase(liczby.begin());
		
	}
	}
}
for(int i=0;i<liczby.size();i++)
{
	outFile<<liczby[i]<<endl;
}
}

 

5 odpowiedzi

0 głosów
odpowiedź 20 marca 2016 przez String Gaduła (4,520 p.)
wybrane 20 marca 2016 przez Hannn
 
Najlepsza
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
	int n;
	int i=0;
	string tabnapis[1000];
	int tab[1000];
	
	for(int i=0; i<1000;i++)
	{
		tab[i]=0;
	}
	string napis;
	fstream plik;
	plik.open("NAPIS.txt", ios::in);
	fstream plik2;
	plik2.open("wynik.txt", ios:: out|ios::app);
	while(getline(plik,napis))
	{
		tabnapis[i]=napis;
		i++;
	}
	
	
	int p;
	for(int i=0;i<1000;i++)
	{
		if(tab[i]!=0) continue;
		p=1;
		for(int j=i+1; j<1000;j++)
		{
			if(tabnapis[i]==tabnapis[j])
			{
				tab[j]=p++;	
			 } 
		}
	}
	
	
	for(int i=0; i<1000; i++)
	{
		if(tab[i]==1) plik2 << tabnapis[i] << endl;
	}
	
	plik.close();
	plik2.close();
	return 0;
}

Nie dawno robiłem to w ten sposób :)

komentarz 20 marca 2016 przez Hannn Nowicjusz (190 p.)
Dzięki wielkie :D
+1 głos
odpowiedź 20 marca 2016 przez Grzesiek Eleryk Mądrala (6,820 p.)
Wektory są zbędne. Masz podane z góry dane wejściowe. W takich zadaniach nie ma co kombinować.
0 głosów
odpowiedź 19 marca 2016 przez Adrian1999 Nałogowiec (34,570 p.)
spróbuj while(getline(cin,liczba));
0 głosów
odpowiedź 19 marca 2016 przez Hannn Nowicjusz (190 p.)
Nie działa :/
0 głosów
odpowiedź 19 marca 2016 przez MILLERTdev Użytkownik (900 p.)
Zawsze na maturalnych robie while (!inFile.eof ()) co znaczy, żeby wykonywać aż do końca pliku, dopiero wewnątrz inFile>>liczba.

Podobne pytania

0 głosów
2 odpowiedzi 3,629 wizyt
pytanie zadane 1 lutego 2016 w C i C++ przez Drakusman Nowicjusz (150 p.)
+1 głos
2 odpowiedzi 1,759 wizyt
pytanie zadane 12 lutego 2017 w C i C++ przez silnyjakzubr Nowicjusz (240 p.)
0 głosów
1 odpowiedź 802 wizyt
pytanie zadane 9 kwietnia 2021 w C i C++ przez Pawolo122 Początkujący (330 p.)

93,468 zapytań

142,404 odpowiedzi

322,706 komentarzy

62,852 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...