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

Jak użyć działającego już kodu na większej ilości danych?

Object Storage Arubacloud
0 głosów
119 wizyt
pytanie zadane 13 czerwca 2020 w C i C++ przez Uczeń123 Nowicjusz (170 p.)

Witam. Dopiero zaczynam z programowaniem na C++. Wiem, że to najprawdopodobniej prosta sprawa, ale nie wiem, jak użyć działającego już programu... na większej ilości danych? Sam nie wiem jak to ująć. Może pokażę na przykładzie.

Jeśli na wejściu dam na przykład

30

To program działa. A jeśli dam na wejściu

30

34

Działa tylko na pierwszej danej. Jak wprowadzić tą "seryjność"? Domyślam się, że chodzi tu o pętlę, jednak wszystkie moje próby jej zastosowania spełzły na niczym. Program jest dość prosty. Sprawdza, czy liczba dzieli się przez 30 bez reszty (bez liczb ujemnych). Oto on:
 

#include <iostream>

using namespace std;
 
int main()
{
int n;

 cin>>n;


 
 if (n>0){

          if(n%30==0)
          {
                  cout <<"Tak"<<endl;
                    
                }
          else cout<<"Nie"<<endl;
}


else cout<<"Blad"<<endl;

 
  return 0;    
}

Na boku dodam jeszcze, że program działa na przykład na 3000, ale już nie na 30000000000000000000000000000, czyli program ma jak dla mnie za mały limit. Szukałem też jak to rozwiązać, ale wydaje mi się, że największym problemem dla mnie jest ten pierwszy. Jeśli jednak znalazłby się ktoś, kto wiedziałby, czego użyć aby rozwiązać je oba, byłbym wdzięczny :D

komentarz 13 czerwca 2020 przez Pierożek Nowicjusz (140 p.)
Tu chodzi o typ zmiennej. W tym programie masz typ zmiennej int, który trzyma liczby od ok. -2 miliardów do ok. 2 miliardów. Jeżeli chcesz większą liczbę wpisać, użyj typu "long long" lub typu zmiennej która jest większa od int.

Link do listy typów:

http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Pojecie-zmiennej-i-podstawowe-typy-danych/11
komentarz 13 czerwca 2020 przez Pierożek Nowicjusz (140 p.)

A jeszcze co do pierwszego problemu to trzeba wykorzystać pętle. Możesz zrobić drugą zmienną, która będziesz podawać na początku (oznaczającą ile liczb chcesz wpisać) i dajesz do pętli odpowiedni warunek.
np.

int n, liczba;
cin>>n>>liczba;

for(int i=0;i<n;i++)
{
       // reszta kodu
}
komentarz 14 czerwca 2020 przez DragonCoder Nałogowiec (36,500 p.)
co do duzyh liczb w jezyku C++, to widzialem juz ten link i najwieksza liczba opeiera sie tam na long long lub double, czyli 64 bitach. Ale masz inne mozliwosci:

https://www.boost.org/doc/libs/1_58_0/libs/multiprecision/doc/html/index.html

https://botan.randombit.net/ (to mogloby sie udac, bo do kryptografi uzywa sie bardzo duzych liczb, wiec moze maja jakis typ danych akurat lub inne podejscie)

https://mattmccutchen.net/bigint/

https://github.com/sercantutar/infint

1 odpowiedź

0 głosów
odpowiedź 13 czerwca 2020 przez Landu Stary wyjadacz (11,880 p.)

Jeżeli chodzi o drugi problem, to limitem dla zmiennej typu integer w C++ jest 2147483647.
Tutaj masz więcej informacji:
https://docs.microsoft.com/pl-pl/cpp/c-language/cpp-integer-limits?view=vs-2019

Podobne pytania

0 głosów
1 odpowiedź 174 wizyt
pytanie zadane 25 sierpnia 2018 w JavaScript przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 234 wizyt
pytanie zadane 12 marca 2023 w C i C++ przez alfutek Początkujący (360 p.)
0 głosów
0 odpowiedzi 316 wizyt

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...