Author Topic: Zadanie PAA  (Read 4259 times)

VikThor

  • Newbie
  • *
  • Posts: 46
    • View Profile
Zadanie PAA
« on: 14.05.2009, 00:52:38 »
No chcem sa len spýtať, lebo keď mi niekto polopatisticky nevysvetlí jak má fungovať program, ta som zo zadania magor.

Mám toto zadanie:
50.   Vypočítajte súčty prvkov v jednotlivých stĺpcov matice AMN. Vstupný súbor obsahuje rozmery matice a jej prvky umiestnené po riadkoch. Výpočet súčtu riešte pomocou podprogramu

Hlavne som si není istý ten vstupný súbor. To ako, že ako mám chápať? Lebo logicky by som to robil jednoducho, že spustím program. Vyžiadá si rozmer a postupne vpisujem prvky. No ale tak vstupný súbor ma pletie. Jak to je? Že to budem mať zapísane v súbore už dopredu a spustim program a ono si to vstupne udaje  :ringsmiley: do seba auz hodi len vysledok ci ako?

Či nebodaj to niekto už má spravené? :D

VikThor

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Zadanie PAA
« Reply #1 on: 14.05.2009, 01:05:51 »
No som mal také tušenie, že asi hej, šak ale ta nám to nevadí, hlavne aby som mal správne pochopené zadanie. Ta idem sa  :ringsmiley: pred telku bo mi ide Hviezdná brána

VikThor

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Zadanie PAA
« Reply #2 on: 15.05.2009, 01:38:15 »
Skúsim sa spýtať, snáď niekto:

Zatiaľ som spravil toto:
Quote
#include<stdio.h>
#define riadky 100
#define stlpce 100


main()
{
int a[riadky][stlpce],i,j,x,y;
int suma,vysledok;
suma=0;
vysledok=0;


printf("Zadaj pocet riadkov: ");
scanf("%d",&x);
printf("Zadaj pocet stlpcov: ");
scanf("%d",&y);
printf("Zapis jednotlive prvky: \n");

for(i=0;i<x;i++)
{ for(j=0;j<y;j++)
  {
     printf("a[%d][%d]:",i+1,j+1);
     scanf("%d",&a[j]);
  }
}
     for(i=0;i<x;i++)
     {
         for(j=0;j<y;j++)
             printf("%d ",a[j]);
         printf("\n");
     }

printf("Sucty prvkov v jednotlivych stlpcoch: \n");
for(i=0;i<y;i++)
   {
   for(j=0;j<x;j++)
      {
      vysledok=vysledok+a[j] ;
      }

   printf("Sucet %d. stlpca je: %d",i+1,vysledok);
   printf("\n");
   vysledok=0;
   }
}

No mám takýto program a teraz mám súčet riešiť ako podprogram preto to červene potrebujem nahradiť funkciou sucet.
No logicky co som pochopil tak funkcia je v tvare int sucet (vstupne premenne) no a tu som narazil na problem ze mi to zjavne nejde a neviem preco.

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Zadanie PAA
« Reply #3 on: 15.05.2009, 02:35:37 »
a čo si skúsil zatiaľ? lebo môže to byť v tvare int sucet etc. ako si popísal...
All code is crap.

42

VikThor

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Zadanie PAA
« Reply #4 on: 15.05.2009, 02:44:34 »
No tak v prvom rade chcem podotknúť, že tam sa nezobrazuje celý zdrojový kód a chýbajú tam niektoré veci, napríklad (i) lebo to berie asi ako kurzíva ale to je jedno.

No tak som dával int sucet(). a do tej zatvorky praveze neviem co dat, maly by to byt vstupne premenne tak som skusal rozne kombinacie  a nejak mi to nejde som tam daval aj int i, aj int x a som v koncoch, lebo do funkcie by mi malo vstupovat i a podla mna uz asi nic ine ale tak iba s i mi to nejde.

JCube

  • Hero Member
  • *****
  • Posts: 9008
    • View Profile
Re: Zadanie PAA
« Reply #5 on: 15.05.2009, 03:52:40 »
Code: [Select]
#include <stdio.h>
#define riadky 100
#define stlpce 100

int sucet(int, int *);

int main (void) {
  int a[riadky][stlpce];
  int i,j,x,y;
  int suma = 0;
  int vysledok = 0;

  printf("Zadaj pocet riadkov: ");
  scanf("%i",&x);
  printf("Zadaj pocet stlpcov: ");
  scanf("%i",&y);

  for (i = 0; i < x; i++) {
    for (j = 0; j < y; j++) {
      printf("a[%i][%i] = ",i+1,j+1);
      scanf("%i",&a[i][j]);
    }
  }


  printf("\n\n\n");
  for (i = 0; i < x; i++) {
    for (j = 0; j < y; j++) {
      printf("%i ",a[i][j]);
    }
    printf("\n");
  }

  printf("\n\nSucty prvkov v jednotlivych stlpcoch:\n");

  for (i = 0; i < x; i++) {
    vysledok = 0;
    /*
    for (j = 0; j < y; j++) {
     vysledok = vysledok + a[i][j];
    }
    */
    printf("Sucet %i. stlpca je %i\n",i+1,sucet(y,a[i]));
  }

  return 0;
}

int sucet (int y, int *pole) {
  int j = 0;
  int vysledok = 0;
  for (j = 0; j < y; j++) {
    vysledok = vysledok + pole[j];
  }
  return vysledok;
}
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Zadanie PAA
« Reply #6 on: 15.05.2009, 03:53:49 »
skús tam dať celé to pole - a prípadne ako druhý parameter počet prvkov v tom poli...
a ako návratovú hodnotu vráť ten súčet...
All code is crap.

42

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: Zadanie PAA
« Reply #7 on: 15.05.2009, 03:54:18 »
njn, presne tak ako to jcube napísal :)
All code is crap.

42

VikThor

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Zadanie PAA
« Reply #8 on: 15.05.2009, 07:21:48 »
No hej díky zapomoc, síce to rieši súčet prvkov v riadku a ne stĺpci ale tak nejsom pako a mám to hotové.  bp taže sa  :ringsmiley: do postele bo za 3 hodiny vstavam do skoly  bu

JCube

  • Hero Member
  • *****
  • Posts: 9008
    • View Profile
Re: Zadanie PAA
« Reply #9 on: 15.05.2009, 13:57:19 »
jaj to si chcel v stlpci? tak pardon
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"