|
Forum studentów IV roku EiT Politechniki Śląskiej
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
maciekj
Dołączył: 13 Paź 2007
Posty: 132
Przeczytał: 0 tematów
Skąd: Zabrze
|
Wysłany: Śro 11:12, 04 Cze 2008 Temat postu: Kolokwium 04.06 |
|
|
Witam, mam do was pytanie, tych którzy pisali dziś kolosa.
Było takie jedno zadanie z funkcją na wskaźnikach, próbuję je odtworzyć z pamięci, ale coś jest nie tak.
Jeżeli ktoś by pamiętał jak to wyglądało prosiłbym o korektę i w ogóle co zaznaczyliście w tym zadaniu?
pozdro
Kod: |
#include <stdio>
#include <conio>
void funkcja(double*,double*);
int main(void)
{
double i=10.1;
double j=20.2;
/* tu mi nie pasuje, bo funkcja ma dostać wskaźnik,a dostaje double, kompilatorowi też się nie podoba:) */
funkcja(i,j);
printf("%2.1f %2.1f",i,j);
system ("PAUSE");
return 0;
}
void funkcja(double *x,double *y)
{
double pomoc;
pomoc = *x;
*x = *y;
*y = pomoc;
}
|
|
|
Powrót do góry |
|
|
|
|
1988BaZyL
Moderator
Dołączył: 09 Paź 2007
Posty: 1178
Przeczytał: 0 tematów
Skąd: Gliwice
|
Wysłany: Śro 11:27, 04 Cze 2008 Temat postu: |
|
|
Ja miałem w mojej grupie:
int pomoc = *x;
*x = *y;
*y = pomoc;
|
|
Powrót do góry |
|
|
Gość
|
Wysłany: Śro 11:36, 04 Cze 2008 Temat postu: |
|
|
NO ok i jaka odpowiedź była tu poprawna?
|
|
Powrót do góry |
|
|
maciekj
Dołączył: 13 Paź 2007
Posty: 132
Przeczytał: 0 tematów
Skąd: Zabrze
|
Wysłany: Śro 12:14, 04 Cze 2008 Temat postu: |
|
|
Ok, kod ma być raczej taki, bo śmiga ładnie:
Ale nie wiem, czy pomoc była na double, czy na integer
Jak na integer miałem, to wtopiłem.
Kod: |
#include <stdio>
#include <conio>
void funkcja(double*,double*);
int main(void)
{
double i, j;
i=10.1;
j=20.2;
funkcja(&i,&j);
printf("%2.1f %2.1f",i,j);
system ("PAUSE");
return 0;
}
void funkcja(double *x,double *y)
{
double pomoc;
pomoc = *x;
*x = *y;
*y = pomoc;
} |
Na double zwraca:
20.2 10.1
Na integer:
20.2 10.0
Sam już nie wiem
|
|
Powrót do góry |
|
|
L3oN
Dołączył: 31 Paź 2007
Posty: 517
Przeczytał: 0 tematów
|
Wysłany: Śro 13:57, 04 Cze 2008 Temat postu: |
|
|
Sama funkcja powinna podmienić między sobą wartości (o ile wszystkie są typu double)
|
|
Powrót do góry |
|
|
1988BaZyL
Moderator
Dołączył: 09 Paź 2007
Posty: 1178
Przeczytał: 0 tematów
Skąd: Gliwice
|
Wysłany: Wto 11:57, 10 Cze 2008 Temat postu: |
|
|
Okazało się, że nie ma poprawnej odpowiedzi wśród tych czterech przy tym zadaniu bo w printfie jest %2.lf, a nie %2.1f
Kod: | #include <stdio>
#include <conio>
void funkcja(double*,double*);
int main(void)
{
double i, j;
i=10.1;
j=20.2;
funkcja(&i,&j);
printf("%2.lf %2.lf",i,j);
system ("PAUSE");
return 0;
}
void funkcja(double *x,double *y)
{
int pomoc = *x;
*x = *y;
*y = pomoc;
} |
Okazało się, że nie ma poprawnej odpowiedzi wśród tych czterech przy tym zadaniu bo w printfie jest %2.lf, a nie %2.1f
Ostatnio zmieniony przez 1988BaZyL dnia Wto 11:58, 10 Cze 2008, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group deox v1.2 //
Theme created by Sopel &
Download
|