Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna

Forum studentów IV roku EiT Politechniki Śląskiej

 

Dzisiejsze zadania (wskaźniki)

 
Napisz nowy temat   Odpowiedz do tematu    Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna -> Semestr 2 / PPK
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

PostWysłany: Czw 15:44, 10 Kwi 2008    Temat postu: Dzisiejsze zadania (wskaźniki)

[link widoczny dla zalogowanych]
Powrót do góry
Zobacz profil autora
Gość







PostWysł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

PostWysł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
Zobacz profil autora
pawel




Dołączył: 11 Paź 2007
Posty: 290
Przeczytał: 0 tematów

Skąd: Przemyśl/Gliwice

PostWysł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
Zobacz profil autora
Gość







PostWysłany: Sob 7:58, 26 Kwi 2008    Temat postu:

Dzięki teraz już wszystko kumam Wesoly
Powrót do góry
rudolf




Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów

Skąd: Katowice/Gliwice

PostWysłany: Nie 15:14, 27 Kwi 2008    Temat postu:

moze ktos wrzucic rozwiazanie zadania 2 i 4?
Powrót do góry
Zobacz profil autora
Wi4n




Dołączył: 10 Paź 2007
Posty: 166
Przeczytał: 0 tematów


PostWysł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
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Forum studentów IV roku EiT Politechniki Śląskiej Strona Główna -> Semestr 2 / PPK Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
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

Regulamin