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

Jak podzielić int'a na tablice?

Object Storage Arubacloud
0 głosów
437 wizyt
pytanie zadane 21 października 2015 w C i C++ przez Melchior Obywatel (1,300 p.)
Pierwszy lepszy przykład ze spoja http://pl.spoj.com/problems/RNO_DOD/

Jak moge zamienić cin>>zmienna

na zmienna[0] zmienna[1] itd.. ?]

Slyszałem coś o wektorach ale nie mam pojęcia jak sie za to zabrać

3 odpowiedzi

+1 głos
odpowiedź 21 października 2015 przez niezalogowany
Ale po co ci w tym zadaniu tablica? Najlepiej jest je zrobić bez tablicy
komentarz 21 października 2015 przez Melchior Obywatel (1,300 p.)
To tylko przykład, chodzi mi ogólnie o rozdzielenie tych wartości pomiędzy spacjami.
komentarz 21 października 2015 przez niezalogowany

Nie musisz, robi to każdy znak biały, nie ma znaczenia czy wprowadzisz dane w ten sposób w konsoli:

a

b

c

d

Czy:

a b c d

Tak cin zawsze zakończy wczytywać zmienną w momencie napotkania białego znaku.

+1 głos
odpowiedź 21 października 2015 przez furas Maniak (53,800 p.)

Użyj osobnych nazw na te zmienne

int liczba
int tablica[10];

cin >> liczba

tablica[0] = liczba;

cin >> liczba

tablica[1] = liczba;

lub od razu w tablicy

int tablica[10];

cin >> tablica[0];

cin >> tablica[1];

W więszości wypadków (zamiast rozpisywać) wygodniej będzie to robić z użyciem `for` o ile wiesz ile będzie liczb do wczytania. Jeśli nie wiesz ile będzie liczb to wektor będzie lepszy bo nie musisz na początku podawać tej wielkości (tak jak w tablicy) i będzie on zwiększać pojemność wraz z dodawaniem elementu (co w tablicy nie jest możliwe bez przepisywania zapełnionej tablicy do nowej, większej tablicy). 

komentarz 21 października 2015 przez Melchior Obywatel (1,300 p.)

Ale mi chodzi o 

cin>>1 2 3 4 5 ;

cout<< 1+2+3+4+5

a nie o :
cin>>1 ;
wynik = 1+wynik ;
cin>>2 
wynik = 2+wynik ;

 

komentarz 21 października 2015 przez furas Maniak (53,800 p.)
Możesz jednym `cin` co najwyżej wczytać całą linię jako tekst a potem możesz

a. rodzielić linię na teksty zawierające tylko cyfry (split) i każdy z nich zamieniać na int.

b. zamienić tekst na isstream i czytać z niego za pomoca >> po jednym int aż dotrze do końca isstream.

Ale powyższe są potrzebne tylko gdy nie wiesz ile jest liczb w wierszu bo jak wiesz ile ich jest to robisz pętle `for` a w niej zwykłe `cin>>zmienna_typu_int` i samo pobiera po jednej liczbie.
0 głosów
odpowiedź 21 października 2015 przez Melchior Obywatel (1,300 p.)

Rzeczywiście dla tego przykładu ze SPOJa zadziałał kod:

​#include <iostream>

using namespace std;

int main()
{
int ile;
int ile_liczb;
cin >> ile ;


for(int i = 1 ; i<=ile; i++)
{
  long long liczba= 0 ;
   long long wynik = 0 ;
 cin>>ile_liczb ;
  for(int j= 1 ; j<=ile_liczb; j++)
  {
      cin>>liczba ;
      wynik+=liczba ;
  }
  cout<< wynik<<endl ;
}


return 0 ;
}
Dzięki za pomoc

Podobne pytania

+1 głos
2 odpowiedzi 555 wizyt
pytanie zadane 4 listopada 2021 w C i C++ przez topol_123 Nowicjusz (190 p.)
–1 głos
0 odpowiedzi 151 wizyt
pytanie zadane 25 września 2021 w C i C++ przez Clemontos Nowicjusz (160 p.)
+1 głos
1 odpowiedź 177 wizyt
pytanie zadane 19 kwietnia 2021 w C i C++ przez Dawidziu Bywalec (2,610 p.)

92,579 zapytań

141,431 odpowiedzi

319,657 komentarzy

61,963 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!

...