[C] Sumowanie liczb w tablicy jednowymiarowej
-
- Użytkownik
- Posty: 39
- Rejestracja: 3 sty 2015, o 18:55
- Płeć: Mężczyzna
- Lokalizacja: WW
- Podziękował: 15 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
sam tego nie pisalem. rozumiem tylko najprostsze funkcje z tego wzgledu nawet nie do konca wiem o co pytasz..-- 6 sty 2015, o 19:49 --nie rozumiem 12,13,14 linijek tzn nie wiem dokladnie co sie w nich dzieje. a w 11 nie wiem co robi napis value
-
- Użytkownik
- Posty: 39
- Rejestracja: 3 sty 2015, o 18:55
- Płeć: Mężczyzna
- Lokalizacja: WW
- Podziękował: 15 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
widze pierwszy usmiech odkad zaczalem szwendac sie po forach w poszukiwaniu pomocy. Twoj byl dla mnie w sumie najbardziej zrozumialy. nie moglem sb jednak do konca poradzic ze wczytywaniem danych posrednio chyba przez to ze dev nie kompilowal mi absolutnie niczego a ja z racji zerowego doswiadczenia, myslalem ze wina lezy po mojej stronie i nie mialem juz smialosci prosic o dalsze wskazowki i narazac sie na wyrzucenie z forum(bo i z tym sie spotkalem), skoro to gotowiec ;d
za chwile sie nim zajme. przyznam ze kompletnie o tym zapomnialem.
za chwile sie nim zajme. przyznam ze kompletnie o tym zapomnialem.
- jarzabek89
- Użytkownik
- Posty: 1337
- Rejestracja: 11 lis 2007, o 21:36
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 4 razy
- Pomógł: 181 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
Dopiero się uczysz, najłatwiej się uczyć na własnych błędach, na samodzielnemu szukaniu błędu i go rozwiązaniu.
W pierwszym kroku proponuję Ci napisać funkcję, która będzie tworzyła tablicę n-wymiarową, wpisywała do niej liczby i na koncu ją wyświetliła. Będziesz miał to, możesz zabierać się dalej.
W pierwszym kroku proponuję Ci napisać funkcję, która będzie tworzyła tablicę n-wymiarową, wpisywała do niej liczby i na koncu ją wyświetliła. Będziesz miał to, możesz zabierać się dalej.
-
- Użytkownik
- Posty: 39
- Rejestracja: 3 sty 2015, o 18:55
- Płeć: Mężczyzna
- Lokalizacja: WW
- Podziękował: 15 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
jak to zrobic zeby teraz wczytac mu liczby do tablicy?
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
unsigned n;
printf ("podaj wielkosc tablicy :");
scanf ("%u",&n); // podaj n
int *arr=(int*)malloc(n*sizeof(int));
printf ("podaj liczby do tablicy:
");
scanf ("%d",&arr[n]);
return 0;
}
- jarzabek89
- Użytkownik
- Posty: 1337
- Rejestracja: 11 lis 2007, o 21:36
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 4 razy
- Pomógł: 181 razy
-
- Użytkownik
- Posty: 39
- Rejestracja: 3 sty 2015, o 18:55
- Płeć: Mężczyzna
- Lokalizacja: WW
- Podziękował: 15 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
kod Gouranga ze wczytywaniem danych. chyba juz wszystko dziala, ale zastanawiam sie czemu nie wyswietla tej liczby ani jej indexu dla, ktorej suma jej lewej strony jest rowna sumie prawej (jezeli wiesz o co mi chodzi)?
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int n;
printf("podaj wielkosc tablicy :");
scanf("%d", &n); // podaj n
int arr[n];
printf("podaj liczby do tablicy");
// wypełnij tablicę arr liczbami
int ps[n], ss[n]; // ps - prefix-sum, ss - sufix-sum
int i;
ps[0] = 0;
ss[n - 1] = 0;
for (i = 0; i < n; ++i)
scanf("%d", &arr[i]);
for (i = 1; i < n; i++) {
ps[i] = ps[i - 1] + arr[i - 1];
ss[n - 1 - i] = ss[n - i] + arr[n - i];
}
int index = -1;
for (i = 0; i < n; i++) {
if (ps[i] == ss[i])
index = i;
}
if (index == -1) // nie ma takiej liczby
{
printf("nie ma takiej liczby");
} else {
printf("%d
", arr[index]);
} // wypisz arr[index]
return 0;
}
-
- Użytkownik
- Posty: 16
- Rejestracja: 6 lis 2011, o 23:25
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Pomógł: 4 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
W Twoim przypadku tablica (ściślej jest to wskaźnik, a nie tablica (a to różnica: ... alent-in-c)) nazywa się arr i ma
rozmiar n. Do pierwszego elementu możesz się odwołać poprzez arr[0], do drugiego poprzez arr[1], a do ostatniego poprzez arr[n-1] (zauważ, że arr[n] jest już poza "tablicą").
Co chciałbyś osiągnąć to:
Czyli sukcesywne wczytywanie liczb do kolejnych elementów "tablicy".
Dokładnie możesz to zrealizować za pomocą pętli for:
Jeśli nie wiesz jak działają pętlę, instrukcje warunkowe i inne tego typu podstawy, to możesz czytać o nich, ale myślę, że jeżeli jesteś zupełnym beginnerem to najłatwiej będzie Ci zrozumieć pewne koncepcje z tutoriali podobnych do tego:
rozmiar n. Do pierwszego elementu możesz się odwołać poprzez arr[0], do drugiego poprzez arr[1], a do ostatniego poprzez arr[n-1] (zauważ, że arr[n] jest już poza "tablicą").
Co chciałbyś osiągnąć to:
Kod: Zaznacz cały
scanf ("%d",&arr[0]);
scanf ("%d",&arr[1]);
scanf ("%d",&arr[2]);
...
scanf ("%d",&arr[n-1]);
Dokładnie możesz to zrealizować za pomocą pętli for:
Kod: Zaznacz cały
for (i = 0; i < n; ++i) scanf("%d", &arr[i]);
Kod: Zaznacz cały
https://www.youtube.com/watch?v=LZdJo-areyY
- Vardamir
- Użytkownik
- Posty: 1913
- Rejestracja: 3 wrz 2010, o 22:52
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 6 razy
- Pomógł: 410 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
To jest dyskusyjna sprawa, według standardu nie powinno tam być niczego w argumentach. Jeśli chcesz wyślę Ci na PW link z dobrym wyjaśnieniem.Gouranga pisze:Vardamir, używanieint main()
jest niezalecane, jak już toint main(void)
jest dobre
To przynajmniej jest jakieś sensowne wyjście.jabluszko pisze:wykladowca kaze pracowac na tym ide. na poczatku wole sie trzymac jego wytycznych. zainstalowalem wersje orwellowska deva i wszystko smiga.
Przecież to jest całkowicie poprawne. Co jest w tym niezrozumiałego?jarzabek89 pisze:Czym się kierowałeś pisząc to?Kod: Zaznacz cały
for(i=0;i<n;sum+=arr[i++]) scanf ("%d",&arr[i]);
-
- Użytkownik
- Posty: 1592
- Rejestracja: 16 maja 2013, o 17:56
- Płeć: Mężczyzna
- Lokalizacja: Trójmiasto
- Podziękował: 11 razy
- Pomógł: 246 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
Vardamir, ok to podeślij ten link, bo jestem ciekaw, mnie uczono, że jak ma być bez argumentów to wpisywać tam void
- Vardamir
- Użytkownik
- Posty: 1913
- Rejestracja: 3 wrz 2010, o 22:52
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 6 razy
- Pomógł: 410 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
Ale jakiej podpowiedzi oczekujesz? Nie przeglądałem co się tam dzieje w kodzie, ale dla podanych przez Ciebie danych 5 1 2 3 3 0 zwracana jest poprawna odpowiedź.jabluszko pisze:wiec co z tym kodem? ktos cos podpowie?
-
- Użytkownik
- Posty: 39
- Rejestracja: 3 sty 2015, o 18:55
- Płeć: Mężczyzna
- Lokalizacja: WW
- Podziękował: 15 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
nie wypisuje indexu tablicy dla, ktorej warunek jest spelniony
- Vardamir
- Użytkownik
- Posty: 1913
- Rejestracja: 3 wrz 2010, o 22:52
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 6 razy
- Pomógł: 410 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
To może.. jakby to powiedzieć.. spróbuj sam poprawić gotowca, którego dostałeś? To jest kosmetyczna zmiana i nie wymaga dużo pracy.
-
- Użytkownik
- Posty: 1592
- Rejestracja: 16 maja 2013, o 17:56
- Płeć: Mężczyzna
- Lokalizacja: Trójmiasto
- Podziękował: 11 razy
- Pomógł: 246 razy
[C] Sumowanie liczb w tablicy jednowymiarowej
jeśli chodzi ci o to, że okno programu znika zanim zdążysz cokolwiek zobaczyć to jest ok, w kodzie nie ma nic co by przytrzymało okno otwarte