|
Forum studentów IV roku EiT Politechniki Śląskiej
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
1988BaZyL
Moderator
Dołączył: 09 Paź 2007
Posty: 1178
Przeczytał: 0 tematów
Skąd: Gliwice
|
Wysłany: Czw 15:44, 10 Kwi 2008 Temat postu: Dzisiejsze zadania (wskaźniki) |
|
|
[link widoczny dla zalogowanych]
|
|
Powrót do góry |
|
|
|
|
Gość
|
Wysłany: Wto 13:05, 15 Kwi 2008 Temat postu: |
|
|
Robił już ktoś może te zadanie 3 i 4 ? Bo mam ciutek problem jak to ugryść
|
|
Powrót do góry |
|
|
1988BaZyL
Moderator
Dołączył: 09 Paź 2007
Posty: 1178
Przeczytał: 0 tematów
Skąd: Gliwice
|
Wysłany: Wto 13:07, 15 Kwi 2008 Temat postu: |
|
|
3.1:
Kod: | for(i=0;i<LK;i++)
{
*(*(t2d+i)+i)=10*(double) rand()/RAND_MAX;
}
for(i=0;i<LW;i++)
{
for(j=0;j<LK;j++)
{
printf("%2.2lf ",t2d[i][j]);
}
printf("\n");
} |
3.2:
Kod: | for(i=0;i<LW;i++)
{
for(j=i+1;j<LK;j++)
{
*(*(t2d+i)+j)=10+40*(double) rand()/RAND_MAX;
}
}
for(i=0;i<LW;i++)
{
for(j=0;j<LK;j++)
{
printf("%2.2lf ",t2d[i][j]);
}
printf("\n");
} |
3.3:
Kod: | for(i=LW-1;i>=0;i--)
{
for(j=i-1;j>=0;j--)
{
*(*(t2d+i)+j)=-40*(double) rand()/RAND_MAX;
}
}
for(i=0;i<LW;i++)
{
for(j=0;j<LK;j++)
{
printf("%2.2lf ",t2d[i][j]);
}
printf("\n");
} |
Ostatnio zmieniony przez 1988BaZyL dnia Wto 13:23, 15 Kwi 2008, w całości zmieniany 4 razy
|
|
Powrót do góry |
|
|
pawel
Dołączył: 11 Paź 2007
Posty: 290
Przeczytał: 0 tematów
Skąd: Przemyśl/Gliwice
|
Wysłany: Sob 6:27, 26 Kwi 2008 Temat postu: |
|
|
mam taka funkcje ktora ma mi sumowac elementy tablicy:
int sumuj1(int *tab, int n)
{
int i,j,suma=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
suma+=*(tab+j+i*n);
}
}
return suma;
}
w glownym probramie deklaruje n i tab jako wskaznik do jakiejs wczesniej wypelnionej tablicy
tab=&tab1[0][0];
s1=sumuj1(tab,n);
kto wie gdzie mam blad?
sprawdzalem przez printfa ze blad jest jak i zmienia wartosc z 0 na 1 na przyklad dla n=3 nie ma problemu ze zliczeniem 3 pierwszych elementow 4 czyli tab1[1][0] juz jakie ślaczki wychodza
|
|
Powrót do góry |
|
|
Gość
|
Wysłany: Sob 7:58, 26 Kwi 2008 Temat postu: |
|
|
Dzięki teraz już wszystko kumam
|
|
Powrót do góry |
|
|
rudolf
Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów
Skąd: Katowice/Gliwice
|
Wysłany: Nie 15:14, 27 Kwi 2008 Temat postu: |
|
|
moze ktos wrzucic rozwiazanie zadania 2 i 4?
|
|
Powrót do góry |
|
|
Wi4n
Dołączył: 10 Paź 2007
Posty: 166
Przeczytał: 0 tematów
|
Wysłany: Nie 16:55, 27 Kwi 2008 Temat postu: |
|
|
Zad 2.
Niespecjalnie elegancko rozwiązane, lecz poprawnie. Pół godziny męczyłem się by wyeliminować błąd, który jak się okazało tkwił w tym, że wskaźnik nie zachowuje się "wdzięcznie" przy porównywaniu z liczbą (początkowo taki warunek pętli miałem).
Kod: | #include "stdlib.h"
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#define LW 5
#define LK 4
int main(void)
{double t1d[LW*LK]={1,2,3,4,5,6,5,4,3,2,1,2,3,4,5,6,5,4,3,2};
double t2d[LW][LK];
double * w1, * w2;
double a=0;
int i=0,j;
w1=t1d;
w2=&t2d[0][0];
do
{*w2=*w1;
i=i+1;
w1+=1;
w2+=LK;
if (w2>=&t2d[0][0]+LW*LK) w2=w2-LK*LW+1;
}
while (i!=(LW*LK));
for (i=0;i!=LW;i++)
{for (j=0;j!=LK;j++) printf("%.0f\t",*(*(t2d+i)+j));
printf("\n");
}
getch();
return 0;
}
|
Ostatnio zmieniony przez Wi4n dnia Nie 16:55, 27 Kwi 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
|