Ciag n wyrazow
- Pniaq
- Użytkownik
- Posty: 39
- Rejestracja: 5 kwie 2006, o 18:01
- Płeć: Mężczyzna
- Lokalizacja: Dąbrowa Górnicza
- Podziękował: 3 razy
- Pomógł: 2 razy
Ciag n wyrazow
Program do napisania w C++
Dana jest ilosc wyrazow ciagu n oraz wyrazy tego ciagu a[0],a[1],..... a[n-1].
Napisac program rozdzielania podanego ciagu na 2 ciagi , jeden zlozony z elementow nieujemnych , drugi z elementow ujemnych.
Dzieks z gory!
Dana jest ilosc wyrazow ciagu n oraz wyrazy tego ciagu a[0],a[1],..... a[n-1].
Napisac program rozdzielania podanego ciagu na 2 ciagi , jeden zlozony z elementow nieujemnych , drugi z elementow ujemnych.
Dzieks z gory!
- amdfanatyk
- Użytkownik
- Posty: 98
- Rejestracja: 27 mar 2005, o 14:59
- Płeć: Mężczyzna
- Lokalizacja: /dev/zero
- Podziękował: 9 razy
- Pomógł: 7 razy
Ciag n wyrazow
w czym konkretnie jest problem?
najpierw tworzysz sobie tablice na stercie, pozniej dwie listy liniowe lub nawet lepiej, pobierasz od razu do listy i przepinasz, zeby polaczyc ze soba elementy ujemne w jedna liste, nieujemne w druga.
najpierw tworzysz sobie tablice na stercie, pozniej dwie listy liniowe lub nawet lepiej, pobierasz od razu do listy i przepinasz, zeby polaczyc ze soba elementy ujemne w jedna liste, nieujemne w druga.
- Pniaq
- Użytkownik
- Posty: 39
- Rejestracja: 5 kwie 2006, o 18:01
- Płeć: Mężczyzna
- Lokalizacja: Dąbrowa Górnicza
- Podziękował: 3 razy
- Pomógł: 2 razy
Ciag n wyrazow
W tym ze mam to zrobic za pomoca dwoch petli for wypelniajac tablice
Niestety nie mam pojecia co to jest sterta ani lista liniowa ...
Bylbym wdzieczny gdybys mi to pokazal krok po kroku.
Niestety nie mam pojecia co to jest sterta ani lista liniowa ...
Bylbym wdzieczny gdybys mi to pokazal krok po kroku.
- amdfanatyk
- Użytkownik
- Posty: 98
- Rejestracja: 27 mar 2005, o 14:59
- Płeć: Mężczyzna
- Lokalizacja: /dev/zero
- Podziękował: 9 razy
- Pomógł: 7 razy
Ciag n wyrazow
masz tutaj najkrocej jak mozna o strukturach dynamicznych:
... /spis.html
oczywiscie, ze mozna sie bawic z tablica, tylko trzeba albo przyjac z gory staly rozmiar i marnowac pamiec albo zapytac uzytkownika na poczatku o ilosc elementow i utworzyc tablice na stercie; z lista jest elegancko i bez marnowania pamieci, nie ruszasz elementow, jedynie zmieniasz ich polaczenia miedzy soba.
... /spis.html
oczywiscie, ze mozna sie bawic z tablica, tylko trzeba albo przyjac z gory staly rozmiar i marnowac pamiec albo zapytac uzytkownika na poczatku o ilosc elementow i utworzyc tablice na stercie; z lista jest elegancko i bez marnowania pamieci, nie ruszasz elementow, jedynie zmieniasz ich polaczenia miedzy soba.
-
- Użytkownik
- Posty: 174
- Rejestracja: 13 mar 2006, o 20:44
- Płeć: Mężczyzna
- Lokalizacja: Nowogard
- Podziękował: 33 razy
- Pomógł: 10 razy
Ciag n wyrazow
hmm a moze skorzystac z jakiegos kontenera ? - nie musisz podawac jego wielkosci sam sie powieksza jak trzeba i jest bardzo latwy w obsludze - np vector
dolacz plik naglowkowy i do dziela
dolacz plik naglowkowy i do dziela
-
- Użytkownik
- Posty: 971
- Rejestracja: 27 wrz 2005, o 22:56
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 11 razy
- Pomógł: 75 razy
Ciag n wyrazow
Kod: Zaznacz cały
typedef int typ;
#define N 333
typ *a; // nasza tablica liczb, można użyć float lub coś tam...
typ *neg; // tablica wynikowa
int nneg; // liczba ujemnych
void wypelnij(typ *s=a, int cnt=N) // wypełniamy tablicę (losowo lub inaczej)
{
while( --cnt >= 0 ) *s++= 777/2 - random(777);
}
int rozdziel(typ *o, typ *s, int cnt=N)
{
typ *e = o, *p = e+cnt; // dodatnie i zera idą od końca
while( --cnt >= 0 )
*(*s < 0 ? e++ : --p) = *s++;
return e-o; // ilość ujemnych
}
main()
{
a = new typ[N];
neg = new typ[N];
wypelnij();
nneg = rozdziel(neg, a); // neg[0..nneg-1] < 0, neg[nneg..N-1] >= 0
cout << "ujemnych jest: " << nneg << endl;
delete []neg;
delete []a;
return 7;
}
-
- Użytkownik
- Posty: 174
- Rejestracja: 13 mar 2006, o 20:44
- Płeć: Mężczyzna
- Lokalizacja: Nowogard
- Podziękował: 33 razy
- Pomógł: 10 razy
Ciag n wyrazow
z calym szacunkiem ale poznizszy kod jest napisany w stylu C a nie C++ jak na poczatku prosil postodawca
ja postaram sie w wolnej chwili napsiac kod w c++ i powtarzam przydantne sa tu kontenery ze standoarodwej biblioteki C++
ja postaram sie w wolnej chwili napsiac kod w c++ i powtarzam przydantne sa tu kontenery ze standoarodwej biblioteki C++
- amdfanatyk
- Użytkownik
- Posty: 98
- Rejestracja: 27 mar 2005, o 14:59
- Płeć: Mężczyzna
- Lokalizacja: /dev/zero
- Podziękował: 9 razy
- Pomógł: 7 razy
Ciag n wyrazow
niezbyt tu widze styl "c", define jest dyrektywa preprocesora i jako taka do c/c++ niewiele ma; gdyby to bylo c, zamiast new byloby malloc lub calloc a zamiast delete - free.
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
Ciag n wyrazow
Moim zdaniem nie ma co udziwniać i należy uprościć to jak najbardziej.
1) Zczytaj n
2) policz pętlą liczbę liczb(wyrazów) nieujemnych
ujemne = N-nieujemne
3) Alokujemy dynamicznie-->patrz kod Fibika dwie tablice o rozmiarach odpowiedających liczbie wyrazów nieujemnych i ujemnych.
4) Drugą pętlą robimy podział jak wyraz jest ujemny to do ujemnych jak nie to do nieujemnych
5) W tablicach mamy porodzielane liczby
Rozumiem, że sposób zbliżony do twojego Fibik, lecz taki będzie chyba łatwiejszy do zrozumienia i modzielnego zaprogramowania.
Na upartego można też posortować tablicę i znależć pierwszą liczbę ujemną bądź nieujemną. Rozumiem, że zależy tu jednak na kolejności wyrazów ciągu(w zastosowaniu to np. dwie 'granice' w ciągu).Pozdrawiam
1) Zczytaj n
2) policz pętlą liczbę liczb(wyrazów) nieujemnych
ujemne = N-nieujemne
3) Alokujemy dynamicznie-->patrz kod Fibika dwie tablice o rozmiarach odpowiedających liczbie wyrazów nieujemnych i ujemnych.
4) Drugą pętlą robimy podział jak wyraz jest ujemny to do ujemnych jak nie to do nieujemnych
5) W tablicach mamy porodzielane liczby
Rozumiem, że sposób zbliżony do twojego Fibik, lecz taki będzie chyba łatwiejszy do zrozumienia i modzielnego zaprogramowania.
Na upartego można też posortować tablicę i znależć pierwszą liczbę ujemną bądź nieujemną. Rozumiem, że zależy tu jednak na kolejności wyrazów ciągu(w zastosowaniu to np. dwie 'granice' w ciągu).Pozdrawiam