Zadejte hledaný výraz...

Programování C – funkce a pointery

Tomáš
verified
rating uzivatele
27. 11. 2013 12:36:54
Jsem už fakt zoufalej, protože si nevím rady sám a na netu nikde něco bližšího nenašel.
Mám zadat 2vektory X prvků a s něma dál počítat.
for(int i = 0; i < delkaVektoru; i++){
printf("Zadejte %d. souradnici 2. vektoru: ", i+1);
scanf("%d", &hodnotyVektoruA);
poleA = hodnotyVektoruA;
}
puts("");
for(int i = 0; i < delkaVektoru; i++){
printf("n1. vektor: %d ", poleA);
}
puts("");
for(int i = 0; i < delkaVektoru; i++){
printf("Zadejte %d. souradnici 2. vektoru: ", i+1);
scanf("%d", &hodnotyVektoruB);
poleB = hodnotyVektoruB;
}
puts("");
for(int i = 0; i < delkaVektoru; i++){
printf("n2. vektor: %d ", poleB);
}
Ten výpis má být přes funkci a to mi celý habruje.
Dál mám sčítat Vektor A(1,2,3) + Vektor B(4,5,6) např. přes funkci na vektor C(5,7,9), ale to pole nevrací a pomocí pointerů jsem zmatený.
Skoro všude se mi objevuje cykl FOR, kvůli tomu, že nemůžu z toho výpisu vypsat normální pole aniž by mně chybělo .
funkce na sčítání: nefunkční
int soucetVektoru(int delka, int *vektorA, int *vektorB)
{
int vyslSouctu;
for(int i = 0; i < delka; i++){
vyslSouctu += vektorA + vektorB;
}
return vyslSouctu;
}
27. 11. 2013 12:36:54
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970437
Martin
verified
rating uzivatele
27. 11. 2013 13:13:02
tady vypracování domácích úkolů a bakalářských prací zdarma :)
27. 11. 2013 13:13:02
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970436
Tomáš
verified
rating uzivatele
27. 11. 2013 13:15:36
Napsal markoniuss;1026566
tady vypracování domácích úkolů a bakalářských prací zdarma :)
Chci poradit a ne to udělat.
27. 11. 2013 13:15:36
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970435
David Musil
verified
rating uzivatele
(69 hodnocení)
27. 11. 2013 13:18:08
Napsal markoniuss;1026566
tady vypracování domácích úkolů a bakalářských prací zdarma :)
to si pleteš :)
tohle totiž není tak, že někdo řekne: "dokážete mi poradit, jak mám udělat tohle a tohle" a přitom nic nezkusí - to je tady i proti pravidlům
zde je vlastní pokus o řešení a pak dotaz - což je v pořádku
27. 11. 2013 13:18:08
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970434
Tomáš
verified
rating uzivatele
(6 hodnocení)
27. 11. 2013 13:25:15
Chápu to správně, že máš problém jen s tím předáváním pole do funkce a zpět pomocí pointerů?
Ten kus kódu, co jsi sem vložil funguje nebo ne? Na první pohled jsem chybu neobjevil, ale nemůžu to teď vyzkoušet.
27. 11. 2013 13:25:15
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970433
Tomáš
verified
rating uzivatele
27. 11. 2013 13:30:20
Napsal VTKale;1026578
Chápu to správně, že máš problém jen s tím předáváním pole do funkce a zpět pomocí pointerů?
Ten kus kódu, co jsi sem vložil funguje nebo ne? Na první pohled jsem chybu neobjevil, ale nemůžu to teď vyzkoušet.
Takhle to funguje, ale to není funkce.
Funkci jsem se snažil dát
void vypisHodnoty(int delkaVektoru, int *hodnotaA)
{
for(int i = 0; i < delkaVektoru; i++){
printf("1. vektor je: %d", hodnotaA);
}
}
a do mainu dát vypisHodnoty(delkaVektoru, &vektorA)
27. 11. 2013 13:30:20
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970432
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
27. 11. 2013 13:40:01
Habruje vám to? Jestli vám to habruje, tak se nedivím, že nemůžete najít problém :)))
void main()
{
int delkaVektoru = 3;
int poleA;
int poleB;
int sum;
for(int i = 0; i < delkaVektoru; i++){
printf("Zadejte %d. souradnici 1. vektoru: ", i+1);
scanf("%d", &hodnotyVektoruA);
poleA = hodnotyVektoruA;
}
for(int i = 0; i < delkaVektoru; i++){
printf("Zadejte %d. souradnici 2. vektoru: ", i+1);
scanf("%d", &hodnotyVektoruB);
poleB = hodnotyVektoruB;
}
sum = vysledek(poleA, poleB, delkaVektoru);
for(int i = 0; i < delkaVektoru; i++){
printf("Vektor C, hodnota %d: ", i+1);
printf("%d ", sum);
}
}
void vysledek(int poleA, int poleB, int delkaVektoru)
{
int poleC;
for(int i = 0; i < delkaVektoru; i++){
poleC = poleA + poleB;
return poleC;
}
}
---------- Příspěvek doplněn 27.11.2013 v 13:40 ----------
jo. jinak v c jsem nikdy nedělal, takže to budete muset otestovat :)
27. 11. 2013 13:40:01
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970431
Tomáš
verified
rating uzivatele
27. 11. 2013 13:48:29
Napsal Bedříšek;1026587
Habruje vám to? Jestli vám to habruje, tak se nedivím, že nemůžete najít problém :)))
void main()
{
int delkaVektoru = 3;
int poleA;
int poleB;
int sum;
for(int i = 0; i < delkaVektoru; i++){
printf("Zadejte %d. souradnici 1. vektoru: ", i+1);
scanf("%d", &hodnotyVektoruA);
poleA = hodnotyVektoruA;
}
for(int i = 0; i < delkaVektoru; i++){
printf("Zadejte %d. souradnici 2. vektoru: ", i+1);
scanf("%d", &hodnotyVektoruB);
poleB = hodnotyVektoruB;
}
sum = vysledek(poleA, poleB, delkaVektoru);
for(int i = 0; i < delkaVektoru; i++){
printf("Vektor C, hodnota %d: ", i+1);
printf("%d ", sum);
}
}
void vysledek(int poleA, int poleB, int delkaVektoru)
{
int poleC;
for(int i = 0; i < delkaVektoru; i++){
poleC = poleA + poleB;
return poleC;
}
}
---------- Příspěvek doplněn 27.11.2013 v 13:40 ----------
jo. jinak v c jsem nikdy nedělal, takže to budete muset otestovat :)
Takhle jsem to měl podobný a píše to nesmyslný konstanty jako mně.
Místo čísel to píše paměť xdesítek čísel.
27. 11. 2013 13:48:29
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970430
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
27. 11. 2013 13:51:47
když vynecháte pointer, tak soudím, že je to v pořádku, ano?
---------- Příspěvek doplněn 27.11.2013 v 13:53 ----------
tedy &hodnotyVektoruA => hodnotyVektoruA atd.
27. 11. 2013 13:51:47
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970429
Tomáš
verified
rating uzivatele
27. 11. 2013 13:54:26
Napsal Bedříšek;1026594
když vynecháte pointer, tak soudím, že je to v pořádku, ano?
---------- Příspěvek doplněn 27.11.2013 v 13:53 ----------
tedy &hodnotyVektoruA => hodnotyVektoruA atd.
Byli tam tři errory, ty jsem opravil a je tam stále 11warningů a ať jsem to zkoušel jsem jak chtěl, pořád to samé.
27. 11. 2013 13:54:26
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970428
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
27. 11. 2013 13:54:40
zkuste prohodit
scanf("%d", &hodnotyVektoruB);
poleB = hodnotyVektoruB;
za
scanf("%d", hodnotyVektoruB);
poleB = &hodnotyVektoruB;
---------- Příspěvek doplněn 27.11.2013 v 13:55 ----------
jakože načtete hodnotu a poli B říkáte, kde nalezne hodnotu
27. 11. 2013 13:54:40
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970427
Tomáš
verified
rating uzivatele
27. 11. 2013 13:58:09
Napsal Bedříšek;1026598
zkuste prohodit
scanf("%d", &hodnotyVektoruB);
poleB = hodnotyVektoruB;
za
scanf("%d", hodnotyVektoruB);
poleB = &hodnotyVektoruB;
---------- Příspěvek doplněn 27.11.2013 v 13:55 ----------
jakože načtete hodnotu a poli B říkáte, kde nalezne hodnotu
To mi hodí error už při psaní vektorů.
27. 11. 2013 13:58:09
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970426
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
27. 11. 2013 14:01:48
a máte hodnotyVektoruB atd. inicializované, protože v mém příkladě chybí?
27. 11. 2013 14:01:48
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970425
Tomáš
verified
rating uzivatele
27. 11. 2013 14:03:00
Napsal Bedříšek;1026602
a máte hodnotyVektoruB atd. inicializované, protože v mém příkladě chybí?
Ano, dopsal jsem je.
27. 11. 2013 14:03:00
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970424
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
27. 11. 2013 14:08:30
ok. tak jakou máme chybu.
27. 11. 2013 14:08:30
https://webtrh.cz/diskuse/programovani-c-funkce-a-pointery/#reply970423
Pro odpověď se přihlašte.
Přihlásit