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

question-closed Ilość liczb 3 cyfrowych w pliku tekstwowym

0 głosów
552 wizyt
pytanie zadane 30 maja 2020 w C i C++ przez Szymi12 Użytkownik (630 p.)
zamknięte 23 października 2020 przez Szymi12
Witam próbuje naspać program,żeby obliczyć ilość liczb 3 cyfrowych w pliku tekstowym.W pliku tekstowym są 513 liczb. Nawet próbowałem dzielić przez 100, ale wynosi więcej liczb niż  było podane.

Proszę o pomoc.
komentarz zamknięcia: Rozwiązany problem
komentarz 30 maja 2020 przez tkz Nałogowiec (42,060 p.)
Jak jest sformatowany ten plik? Jeżeli linia pod linią, to możesz pobrać linie tekstu, sprawdzić jej rozmiar i tyle, o ile nie zawierają żadnych pułapek typu 012, 001, 030 itd.

2 odpowiedzi

0 głosów
odpowiedź 30 maja 2020 przez Michał Gibas Pasjonat (19,630 p.)
wybrane 31 maja 2020 przez Szymi12
 
Najlepsza

Na logikę wychodzi, że trzycyfrowe liczby, to takie, które są większe od 99 i mniejsze od 1000. To są dwa porównania na każdą liczbę:

(x > 99) && (x < 1000);

Pozdrawiam!

komentarz 30 maja 2020 przez Szymi12 Użytkownik (630 p.)

ok ale przy zastosowaniu if wyskakuje błąd

	if (liczba>99)&&(liczba<1000){//program sprawdza ile  jest liczb 3 cyfrowych
			b++
		}

komentarz 30 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)

Pokaz caly kod, ktory napisales. Bo cos czuje, ze czytasz te dane do stringa

if ((liczba > 99) && (liczba < 1000))

 

komentarz 30 maja 2020 przez Szymi12 Użytkownik (630 p.)
#include <iostream>
#include <fstream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main() {
	fstream liczba;
    liczba.open("liczby.txt");
    int i=0,b=0,ilosc=0;
    double a,d;
   	while(liczba.good()){//program sprawda czy jest dany plik i liczy ile jest liczb
		liczba >> a;
		i++;
		if (liczba > 99 && liczba < 1000) {
			liczba >>d;
			b++;
		}
	}
	cout<<"Liosc liczb wynosi: "<<i<<endl;
	cout<<"Liosc liczb wynosi: "<<b<<endl;
			
	return 0;
}
komentarz 30 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)
If liczba, a jakim typem danych jest Twoja liczba? Zbtad ten blad, a nie mowi o nic innego ze operator < uzywa sie przy int lub char. A lichba jest typem fstream (plikiem)
komentarz 31 maja 2020 przez Szymi12 Użytkownik (630 p.)
Dobra udało mi się wyświetlić ilość liczb 3 cyfrowych, ponieważ zamiast "liczba" zmieniłem na zmienna "a".
komentarz 31 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)
Myslalem, ze moja odpowiedz byla wystarczajaco jasna, ze probowales sprawdzic czy 'plik' jest wiekszy od inta
0 głosów
odpowiedź 30 maja 2020 przez 10kw10 Pasjonat (22,880 p.)

po co dzielic, moze wystarczy tylko sprawdzic czy jest wieksza badz rowna 100 i mniejsza od 1000?

Podobne pytania

0 głosów
1 odpowiedź 446 wizyt
0 głosów
2 odpowiedzi 696 wizyt
pytanie zadane 14 sierpnia 2017 w SPOJ przez Strzelc2 Początkujący (300 p.)
0 głosów
1 odpowiedź 308 wizyt
pytanie zadane 2 grudnia 2018 w Nasze projekty przez noname3 Obywatel (1,180 p.)

93,424 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,785 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...