Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  C palun abi maatriksi arvutamisel märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
adsl
HV vaatleja
adsl

liitunud: 14.11.2008




sõnum 08.01.2013 23:17:51 C palun abi maatriksi arvutamisel vasta tsitaadiga

Lugu siis järgmine, et tegelikult oleks vaja nii esimese rea negatiivsete liimete korrutis eraldi välja tuua ja teise rea korrutis eraldi välja tuua, aga hetkel ta isegi ei arvuta kahe rea oma kokku. Eks koodi keerukusest näete minu (alg)taset ning seega palun ka vastaval tasemel abi.

Spoiler Spoiler Spoiler

_________________
///SISSIKOMPANII 2002 3r.3j.///
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 09.01.2013 12:20:12 vasta tsitaadiga

Eeee...

Anna parem ülesande tekst, võibolla saab paremini aru.

E: Nvm, hommik alles. Aga ülesande teskti võid ikkagi anda kui käepärast.


viimati muutis Redikate 09.01.2013 12:54:38, muudetud 1 kord
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 09.01.2013 12:51:53 vasta tsitaadiga

Redikate, need on massiivi indeksid ju mitte maatriksi väärtused.
_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 33 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 09.01.2013 12:55:59 vasta tsitaadiga

Esimese kahe rea korrutis peaks umbes nii toimima. Kommentaarid on koodis. Käima ajada seda ei proovinud, seega võib sisaldada näpukaid. Korrutiste eraldi väljatoomine püüa nüüd selle põhjal ise välja nuputada.
c:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. //vaata see definitsioon üle. Kui kasutad igal pool j < 8, siis õigem oleks kas int A[6][8] või siis j < 9 olenevalt sellest, kas tahad teise dimensiooni tegelikult 8 või 9 elementi
  5. //antud juhul otseselt midagi ei juhtu, kui massiiv suurem on, aga mahukama programmi puhul on soovitav mälukasutuse peale mõelda ja mitte defineerida elemente, mida vaja pole
  6.         int A[6][9];
  7.         int i=0;
  8.         int j;
  9.         int arv;
  10.        
  11.         /* ridade ja veergude sisestamine */
  12.        
  13.         while ( i < 6 )
  14.         {
  15.                 j=0;
  16.                 while ( j < 8)
  17.                 {
  18.                         printf("Sisesta masiiv[%d][%d]: ", i, j);
  19.                         scanf("%d", &A[i][j]);
  20.                         j++;
  21.                 }
  22.         /*seda osa pole vaja, massiivi täidad ju eelmises osas ära
  23.                 printf("Sisesta masiiv[%d][%d]: ", i, j);
  24.                 scanf("%d", &A[i][j]);
  25.         */
  26.                 i++;
  27.         }       
  28.         /*arvutamine*/
  29. //C/C++ ei algväärtusta andmeid ehk kui muutujale arv väärtust ei anna, siis on see määramata.
  30.         arv = 0;
  31.         while ( i < 2 )
  32.         {
  33.                 j=0;
  34. //päris nii ei saa, tsükkel lõppeb kohe kui esimese mittenegatiivse leiab
  35. //            while ( j < 8 && A[i][j]<0 )
  36.                 while ( j < 8 )
  37.                 {
  38.                         //seda kontrollime siin, kas element on negatiivne
  39.                         if(A[i][j]<0)
  40.                         {
  41.                                 //mis juhtub, kui satume siia esimest korda? Arv on 0 ja korruta millega tahad, saad ikka nulli
  42.                                 //tegelikult ei loe küsimusest välja, mis sellisel juhul üldse peaks juhtuma, kui massiivis satub ainult üks negatiivne element olema
  43.                                 if(arv)
  44.                                         arv *= A[i][j];
  45.                                 else
  46.                                         arv = A[i][j];       
  47.                         }
  48.                         j++;
  49.                 }
  50.                 i++;
  51.         }
  52.         printf("Kahe esimese rea negatiivsete elementide korrutis on %d\n", arv);
  53.         printf("L6petamiseks vajuta enterile");
  54.         getchar();
  55.         return 0;
  56. }
  57.  
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  C palun abi maatriksi arvutamisel
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.