Autor Wiadomość
Wi4n
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;
}
rudolf
PostWysłany: Nie 15:14, 27 Kwi 2008    Temat postu:

moze ktos wrzucic rozwiazanie zadania 2 i 4?
Gość
PostWysłany: Sob 7:58, 26 Kwi 2008    Temat postu:

Dzięki teraz już wszystko kumam Wesoly
pawel
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
1988BaZyL
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");
   }
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ść
1988BaZyL
PostWysłany: Czw 15:44, 10 Kwi 2008    Temat postu: Dzisiejsze zadania (wskaźniki)


Powered by phpBB © 2001, 2005 phpBB Group