C++ Masyvu vidurkis

Jeigu programuojate ir norite ko nors paklausti ar pasidalinti patirtimi, darykite tai čia...
User avatar
Incoo
Posts: 87
Joined: 2005-05-08 20:36
Location: Kaunas
Contact:

2010-11-22 18:49

Sveiki, turiu tokia uzduotele ir uzstrigau, gal galite pagelbeti ? :)

Duoti du masyvai A[n] ir B[m]. Suskaičiuoti kiekvieno masyvo aritmetinį vidurkį ir jį įrašyti atitinkamo masyvo pabaigoje. Spausdinti masyvus prieš ir po veiksmų.

Turiu kolkas tiek padaryta...

Code: Select all

#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#define n5

//Duoti du masyvai A[n] ir B[m].
//Suskaičiuoti kiekvieno masyvo aritmetinį vidurkį ir jį įrašyti atitinkamo masyvo pabaigoje. 
//Spausdinti masyvus prieš ir po veiksmų.

using namespace std;
void masyvo_isvedimas (int A[], int n);
void masyvo_skaitymas (int mas[], int n);
FILE *F;

int main()

{
int n;
int A[10];
int B[10]; 

cout<<"Iveskite kiek elementu bus jusu masyve" << endl;
cin>>n;
int i=0;

for (int i=0; i<n; i++)
{
    cout<<"Iveskite A[n]: " << endl;
    cin>>A[i];

}

masyvo_skaitymas (B, n);

cout<<"Masyvas A: ";
masyvo_isvedimas (A, n);
cout<<"\nMasyvas B: ";
masyvo_isvedimas (B, n);
_getch();
return 0;
}

void masyvo_isvedimas (int A[], int n)
{
    
    for(int i=0; i<n; i++)
    {
        cout<<A[i]<< " ";
    }
}

void masyvo_skaitymas (int mas[], int n)
{
    int sk=0;
F=fopen("C:/Documents and Settings/benas/Desktop/Struktura/masyvas.txt","r");
if(F==NULL) printf("Failas neatidarytas \n");
else { 
    while (!feof(F)&&(sk<n))
        {fscanf(F,"%d", &mas[sk]);
        sk++;
        }
}

}
Last edited by Incoo on 2010-11-22 21:07, edited 1 time in total.
Intel Pentium E5500 2.8GHZ @ 3Ghz | Asus P5G41C-M | A-Data 4GB DDRII 800Mhz | Sparkle GeForce 460GTX | Seagate 320GB | OCZ 600W PSU | Creative Audigy 4 |

User avatar
rKr
Posts: 1150
Joined: 2004-12-28 17:05
Location: Raudondvaris-Vilnius
Contact:

2010-11-22 19:41

404 question not found

User avatar
evil
Posts: 840
Joined: 2009-07-28 22:16
Location: Kaunas
Contact:

2010-11-22 19:56

:D aik tu sau tokio elementaraus uždavinio neišspręst, kai sudėtingiausia kodo dalis jau parašyt? Kaip sudėti žinomą kiekį skaičių ir padalinti iš žinomo skaičius? Negi nedašunta?

User avatar
Incoo
Posts: 87
Joined: 2005-05-08 20:36
Location: Kaunas
Contact:

2010-11-22 21:11

evil wrote::D aik tu sau tokio elementaraus uždavinio neišspręst, kai sudėtingiausia kodo dalis jau parašyt? Kaip sudėti žinomą kiekį skaičių ir padalinti iš žinomo skaičius? Negi nedašunta?
Programavimas nera mano stiprioji puse :D Nedašunta kaip man ta funkcija parsirašyti :D

User avatar
tomaxsas
Posts: 106
Joined: 2009-07-22 19:14
Location: Veiveriai
Contact:

2010-11-22 21:18

Incoo wrote:
Programavimas nera mano stiprioji puse :D Nedašunta kaip man ta funkcija parsirašyti :D
Nuoširdžiai sakau, mesk programavimą... Tokio ELEMENTARAUS uždavinio nepadaryt, kai jau net skaitymas padarytas iš failo...

User avatar
iller
Posts: 5302
Joined: 2004-11-25 14:00
Contact:

2010-11-22 21:23

žmogus paprašė pagalbos išspęst, o ne apsispręst. taip, kad į temą arba nieko.

User avatar
Incoo
Posts: 87
Joined: 2005-05-08 20:36
Location: Kaunas
Contact:

2010-11-22 21:29

Galit trynti tema, nes matau cia pagalbos nesulauksiu. Jums ka sunku padeti jai zinot ? Tipiniai lietuviai.

User avatar
evil
Posts: 840
Joined: 2009-07-28 22:16
Location: Kaunas
Contact:

2010-11-22 21:30

nu taigi:

int suma=0;
for (int i=0; i<n; i++)
{
suma=suma+A;
}
double vidurkis = suma/n;

User avatar
rKr
Posts: 1150
Joined: 2004-12-28 17:05
Location: Raudondvaris-Vilnius
Contact:

2010-11-22 21:31

Code: Select all

double randaVid(int A[], int n)
{
  int suma = 0;
  for(int i=0; i<n; i++)
    suma = suma + A[i];
  double vidurkis = suma/n;
  return vidurkis;
}
tada ta skaicius paimi ir ymontuoji y A[n-1] vieta. Done.
Turek omeny kas pas tave masyvas yra INT, tai vidurkis irgi bus suapvalinamas iki sveiko skaiciaus.

User avatar
Incoo
Posts: 87
Joined: 2005-05-08 20:36
Location: Kaunas
Contact:

2010-11-22 21:36

rkr wrote:

Code: Select all

double randaVid(int A[], int n)
{
  int suma = 0;
  for(int i=0; i<n; i++)
    suma = suma + A[i];
  double vidurkis = suma/n;
  return vidurkis;
}
tada ta skaicius paimi ir ymontuoji y A[n-1] vieta. Done.
Turek omeny kas pas tave masyvas yra INT, tai vidurkis irgi bus suapvalinamas iki sveiko skaiciaus.
evil wrote:nu taigi:

int suma=0;
for (int i=0; i<n; i++)
{
suma=suma+A;
}
double vidurkis = suma/n;


Dėkui :)

User avatar
Dainius
Posts: 470
Joined: 2005-01-10 19:26
Location: Kaunas
Contact:

2010-11-22 21:55

Incoo kur studini? :]

User avatar
Incoo
Posts: 87
Joined: 2005-05-08 20:36
Location: Kaunas
Contact:

2010-11-22 22:34

Dainius wrote:Incoo kur studini? :]
Kauno Kolegija
Intel Pentium E5500 2.8GHZ @ 3Ghz | Asus P5G41C-M | A-Data 4GB DDRII 800Mhz | Sparkle GeForce 460GTX | Seagate 320GB | OCZ 600W PSU | Creative Audigy 4 |

User avatar
Nemesiz
Posts: 335
Joined: 2008-10-14 14:13
Location: Kaunas/Siauliai
Contact:

2010-11-29 23:04

>>> int A[10];

Ar cia mes iskart nenurodome/apribojame masyva is 10 elementu?

Negeriau

cout<<"Iveskite kiek elementu bus jusu masyve" << endl;
cin>>n;
int i=0;
int A[n];
int B[n];


for (int i=0; i<n; i++)
{
cout<<"Iveskite A[n]: " << endl;
cin>>A;

}


Kitas dalykas ar negeriau pakeisti sia eilute?

F=fopen("C:/Documents and Settings/benas/Desktop/Struktura/masyvas.txt","r");

Nes jei tokio kelio neras kitame kompiuteryje turetu mesti klaida.

F=fopen("masyvas.txt","r");

Siuo atveju megintu atidaryti faila esanciame/dirbamame kataloge

User avatar
rKr
Posts: 1150
Joined: 2004-12-28 17:05
Location: Raudondvaris-Vilnius
Contact:

2010-11-30 10:03

Nemesiz wrote:>>> int A[10];
Ar cia mes iskart nenurodome/apribojame masyva is 10 elementu?
Taip
Nemesiz wrote:cout<<"Iveskite kiek elementu bus jusu masyve" << endl;
cin>>n;
int i=0;
int A[n];
int B[n];


for (int i=0; i<n; i++)
{
cout<<"Iveskite A[n]: " << endl;
cin>>A;

}

Man rodos taip neveiks. Jei nori dinaminio masyvo reikia susikurti rodykle, o tada ja nurodyti y isskirto masyvo vieta.
Sintakses dabar nepamenu, bet turetu buti mazdaug taip:
int *A;
int *B;
A = new int[n];
B = new int[n];
&A = ...tavo skaiciai


Nemesiz wrote:
Kitas dalykas ar negeriau pakeisti sia eilute?
F=fopen("masyvas.txt","r");

Taip

User avatar
Nemesiz
Posts: 335
Joined: 2008-10-14 14:13
Location: Kaunas/Siauliai
Contact:

2010-11-30 20:44

O tai kuom skiriasi toks pvz

int A[10];

nuo

int n = 10;
int A[n];

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest