ďťż

Ładny brzuch

Witam. Otóż mam problem. Na zadanie z informatyki muszę napisać program, który wczyta ze standardowego wejścia liczby oddzielone spacjami. Problem polega na tym, że nie wiem jak to zrobić, ponieważ tych liczb może być wiele. Ich liczba jest uzależniona od zmiennej, którą poda użytkownik np. int a;



pętla i cin/scanf

Z pamięci:int a=0; scanf("%d",&a); if (a>0) { int*t = new int[a]; for (int i=0;i<a;i++) scanf("%d",&t[i]); // albo while(-a--)scanf("%d",&t[a]); ale tu a dojdzie do zera }
Użytkownik Cyrkiel edytował ten post 07 listopad 2006, 20:42
nie bardzo wiem jak to wykorzystac szukałem na google i nie bardzo rozumiem co robi ta funkcja ? po przepisaniu na komputer kod od cyrkla nie działa ;/
P.S: mi chodzi o to, że kiedy użytkownik wpisze np: 1 2 3 4 5 to żeby program wczytał mi to do tablicy;
Użytkownik pura89 edytował ten post 08 listopad 2006, 15:27


idz sobie poucz podstaw c++


nie bardzo wiem jak to wykorzystac szukałem na google i nie bardzo rozumiem co robi ta funkcja ? po przepisaniu na komputer kod od cyrkla nie działa ;/
P.S: mi chodzi o to, że kiedy użytkownik wpisze np: 1 2 3 4 5 to żeby program wczytał mi to do tablicy;


No jak go wkleiłes do pustego cpp i skompilowałeś to się nie dziwie, przydałaby się funkcja main oraz jakieś nagłówki :)

#include <iostream> using namespace std; const int MAX = 100; int iLiczba[MAX], iIle, i, j; int main() { cin >> iIle; while(iIle--) { cin >> iLiczba[i]; ++i; } while(i--) { cout << iLiczba[j] << " "; ++j; } cout << endl; system("pause"); return 0; }

To chyba najprostszy program, który wczytuje i wypisuje liczby. Jeśli zmienisz wartość MAX to oczywiście będziesz mógł wczytać więcej liczb.
Użytkownik Rafał Kołaczkowski edytował ten post 08 listopad 2006, 22:05
Sam mam z tym problem.
Programy przez was podane działają na zasadzie oddzielania "enteremi" (co jest banalne) a nie spacjami.

#include <cstdlib> #include <iostream> using namespace std; int main() { int ile; cin >> ile; int *tab = new int[ile]; for(int i=0; i<ile; i++) cin >> tab[i]; system("PAUSE"); return EXIT_SUCCESS; }


idz sobie poucz podstaw c++
Jeżeli nie pomagasz to przynajmniej się nie odzywaj. Twoje teksty są żenujące.
-----------------------------------------------------------------------------------------------
KlyYmek - :lol: :lol: nie rób ze mnie debila prosze.

Z problemem sam sobie poradziłem nawet nie wiedziałem, że jest to tak proste rozwiązanie. Wystarczy zwykła pętla for:
int liczba; int *tablica = new int[liczba]; for(int i=0; i<=liczba; i++) { cin >> tablica[i]; }
Cały kod dobrze spełnia swoją funkcję;

//kod prawie identyczny z kodem Konrad_st. Nie widziałem go, przepraszam za bałagan.
Użytkownik pura89 edytował ten post 10 listopad 2006, 21:46

KlyYmek - :lol: :lol: nie rób ze mnie debila prosze.

Nic takiego nie miałem na myśli w przeciwieństwie do naszego kolegi Artur Menc, który zwykła powtarzać "Najpierw naucz się podstaw[...] w co piątym swoim poście :)
Po prostu trudno jest ocenić poziom piszącego, a Twój problem wydawał mi się na tyle banalny, że pomyślałem iż to znowu jakaś praca domowa i uczeń, który nie ma pojęcia co robić (co ostatnio jest tu częstą przypadłością) :P

Spoko. Troche zmylił mnie kod Cyrkla. Myślałem, że rozwiązanie jest dosyć proste lecz nie miałem pomysłu, bo pomyślałem sobie, że kiedy będę zapisywał w pętli (np. coś takiego):
int liczba; int *tablica = new int[liczba]; for(int i=0; i<liczba; i++) { cin >> tablica[i]; }
to każdy element tablicy będzie miał pierwszą liczbę wpisaną przez użytkownika: np. jeżeli wpisałby 1 2 3 4 5
to każdy element tablicy będzie zawierał liczbę 1. Niestety kodu nie sprawdziłem i jak się okazało w szkole na infie zobaczyłem czy coś takiego przejdzie i zadziałało.
Użytkownik pura89 edytował ten post 10 listopad 2006, 21:47
hmmm czy może nie zwróciłeś uwagi na mój pierwszy post w tym temacie?
Jeżeli nie to odszukaj go a nastepnie obejrzyj kod, kótry wyzej wkleiłeś.
Mam nadzieję, że to Ci trochę wyjaśnia.
Każdy moze mieć swoje zdanie więc ja uważam, że pisząc żebyś poczuł się jeszcze troche podstaw pomagam Ci dużo bardziej niż osoby, które wklejają te pętle z zawartością ( taką jak napisałem w pierwszym poście ).
Czy to nie jest żenujące, że krytykujesz to co inni Ci radzą nie sprawdzając tego?

btw. kod przez Ciebie podany jest błędny!
Popełniłeś podstawowy, krytyczny błąd...
dlatego też napisałem żebys jednak jeszcze troche poczytał o tym... i to nie jest żenujące...

Nie wiem gdzie ty widziałeś błąd może tam, że zamiast < dałem <=, ale zapewniam cię, że to z pośpiechu.

P.S: Mam nadzieje, że nie myślisz sobie, że podstawiam zmienną liczba nie wczytując do niej uprzednio wartości. Pominęłem to ze względów oczywistych.
Słowo żenujące użyłem w stosunku do ciebie nie do innych.
Użytkownik pura89 edytował ten post 10 listopad 2006, 22:16
tak o ten błąd mi chodziło, a ze coś wczytasz do tej zmiennej to już sie domyślam.
Ja potrafię czytac to co inni piszą i wiem ze użyłeś tego w stosunku do mnie ... ja tego użyłem w stosunku do Ciebie dla jasności ;)

Uważasz, że Ci nie pomogłem, czy może, że źle Ci doradziłem...

Nie no spoko nie mam ci tego za złe z reguły wiem, że takie sprzeczki na forum nie mają końca dlatego myślę, że pora to zakończyć :rolleyes: Chodzi o to, że jestem uczulony na teksty typu "naucz się podstaw" itp. dlatego myślę, że jeżeli chcesz komuś coś zarzucić to powinieneś najpierw mu pomóc dopiero później wyrażać swoją opinię. Odkąd tu jestem forumowicze próbują zwalczać zachowania tego typu, bo ani nie rozwiązują problemu a jedynie wprowadzają nerwową atmosferę na forum. Oczywiście ja też nie jestem bez winy, nie sprawdziłem funkcji, którą mi dałeś itp.
//EOT
Użytkownik pura89 edytował ten post 10 listopad 2006, 22:37
ja też się nie lubie kłucić, ale mam taką zasade tutaj ze nie pisze raczej gotowych kodów( czasem są wyjątki ). Staram sie naprowadzić kogoś na rozwiązanie rzucając kilka pojęć, którymi sie osba powinna zainteresować.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •