Suma elementówo wartosiach podancyh ciagi

0

Potrzebuję zrobić takie coś :
uruchomić program podający sumę elementów o wartościach nie mniejszych od wartości podanej przez użytkownika.
CZyli mam tablice
tab[i]
wczesniej uzytkownik oklresia jej wielkosc także ale to juz mam, ( zrobione nizej)
Potem program przypisuje wartosci tych tablic ( tez jest zrobione)
i teraz mam wykonać właśnie to suma elemento o wartosiach nie mniejszych od wartosci podanej przez uzytkownika.

Nie wiem kompletnie jak to zrobic!
Proszę o pomoc!
zacząłem tak:


int main()

{
int *tab = new int[x];
cout <<"Podaj dlugosc ciagu  ";
cin >>x;
tab = new int[x];


}

///////////
















void dodatkowo ( int * tab, int x,int i,int n,int y)
{
	int p,sum=0;
	cout<<"Podaj od jakiej liczby maja byc sumowane elementy: ";
	cin>>p;
	
	
	
	
	for(i=0;i<x;i++)
	{
		
		
		
		sum=sum+tab[i];
		
		
		
		
	}
	
	cout<<"Suma elementow wynosi : "<<sum;
}


void losowo ( int * tab, int x,int i,int n,int y)
{	
	int q,w,e,tablicka;
	cout<<"Podaj przedział  liczb jakie mają być losowane\n zaczynajac od ";
	cin>>q;
	cout<<"do";
	cin>>w;
	

for (i=1; i<x; i++)
{
	tab[x] =rand();
    e=rand()%(w-q+1) + q;
  
    printf("%d\t", e);
}
}













0

pierwsze 4 linijki maina to bzdury jakieś, poczytaj o dynamicznej alokacji. Gdzie masz zmienną 'x' w tym programie zadeklarowaną ?
int *tab = new int[x];
...
tab = new int[x];
Nie uważasz, że to bzdura ?

0
Resident napisał(a):

pierwsze 4 linijki maina to bzdury jakieś, poczytaj o dynamicznej alokacji. Gdzie masz zmienną 'x' w tym programie zadeklarowaną ?
int *tab = new int[x];
...
tab = new int[x];
Nie uważasz, że to bzdura ?

Uważam .Nie skopiowałem wszystkiego bo to jest duzy program i nie chce mis ie szukac opisalem dokladnie moj problem wiec licze na pomoc!Powycinałem co trzeba ale akurat tego nie zauywazylem pomoze ktos?

0

if(tab[i]>=p) sum+=tab[i];

0
_13th_Dragon napisał(a):

if(tab[i]>=p) sum+=tab[i];

Uważasz że tak jest dobrze?
Lecz znowu nie wychodzi mi to dobrze ;//// może dam cały program to ktos ogarnie to? bo juz nie wiem co mam robic

int main()
 
{
int *tab = new int[x];
cout <<"Podaj dlugosc ciagu  ";
cin >>x;
tab = new int[x];
 
 
}
 
///////////
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
void dodatkowo ( int * tab, int x,int i,int n,int y)
{
        int p,sum=0;
        cout<<"Podaj od jakiej liczby maja byc sumowane elementy: ";
        cin>>p;
 
 
 
 
   	
		if(tab[x]>=p)
		{ 
		sum+=tab[x]; 
	        }
 
 
 
 
        }
 
        cout<<"Suma elementow wynosi : "<<sum;
}
 
 
void losowo ( int * tab, int x,int i,int n,int y)
{        
        int q,w,e,tablicka;
        cout<<"Podaj przedział  liczb jakie mają być losowane\n zaczynajac od ";
        cin>>q;
        cout<<"do";
        cin>>w;
 
 
for (i=1; i<x; i++)
{
        tab[x] =rand();
    e=rand()%(w-q+1) + q;
 
    printf("%d\t", e);
}
}
0

Przyłączam się do opinii od @Resident. Skopałeś wszystko, nie rozumiesz ani wiersza w tym co podałeś. Nie potrafisz zastosować podpowiedzi bo jej nie rozumiesz.

0
_13th_Dragon napisał(a):

Przyłączam się do opinii od @Resident. Skopałeś wszystko, nie rozumiesz ani wiersza w tym co podałeś. Nie potrafisz zastosować podpowiedzi bo jej nie rozumiesz.
'
W ten sposob mi nie pomozesz.
Mógłbyś napisac mi to siedze juz 13h na kompie i z sił opadłem a musze na jutro to miec ;/

0
  1. sformatuj kod po ludzku.
  2. podaj całość.
0

To czego potrzebuje znajduje się w funckji :: void dodatkowo()


#include <iostream>
#include <cstdlib>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int i;


///////////////////////////////////////////////////////////////////////////////////////////////////////////////
void klawiatura ( int * tab, int x,int i,int n,int y)
{
cout <<endl;
for (i=0;i<x;i++)
{

n=n+1;
cout <<"podaj "<<n<<" liczbe   ";
cin >>y;
tab[x] = y;
}
n = 0;
for (i=0;i<x;i++)
{
n = n+1;
cout<<"liczba["<<n<<"]="<<tab[i]<<"\n";

}

}






///////////////////////////////////////////////////////////////////////////////////////////////////////////

void losowo ( int * tab, int x,int i,int n,int y)
{	
	int q,w,e,tablicka;
	cout<<"Podaj przedział  liczb jakie mają być losowane\n zaczynajac od ";
	cin>>q;
	cout<<"do";
	cin>>w;
	

for (i=1; i<x; i++)
{
	tab[x] =rand();
    e=rand()%(w-q+1) + q;
  
    printf("%d\t", e);
}
}
   
 

    
 


///////////////////////////////////////////////////////////////////////////////////////////////////////////

void automatycznie (int * tabe, int x,int i,int n)
{

      srand( time( NULL ) );
        int d;
        
        int *tab = new int[d];
        for(int i = 0 ; i < x; i++) {
            tab[x] = rand();
            cout<<tab[x]<<"\n";
        }
        for(int i = 0; i < x; i+=4) {
            if(!(tab[x] % 4)) {
				cout<<"\n";
                cout<<"\n";
                cout<<"liczba podzielna przez 4 to:   ";
                
                cout<< tab[i] << "\n";
            }
        }
 
        


    
 

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void dodatkowo ( int * tab, int x,int i,int n,int y)
{
	int p,sum=0;
	cout<<"Podaj od jakiej liczby maja byc sumowane elementy: ";
	cin>>p;
	
	
	
	
	for(i=0;i<x;i++)
	{
		
		if(tab[i]>=p) 
		sum+=tab[x]; 
		
		sum=sum+tab[i];
		
		
		
		
	}
	
	cout<<"Suma elementow wynosi : "<<sum;
}
	
	
	





	









////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
int x,i,y,n,z,u,min,ok,wybor,cho;






x=0;
y=0;
n=0;
z=1;
ok=0;
i=0;
int *tab = new int[x];




																						//podanie dlugosci ciagu
cout <<"Podaj dlugosc ciagu  ";
cin >>x;
tab = new int[x];
																						//---------------------
do
{
cho = 0;
cout <<"\nCo chcesz zrobic: "<<endl;
cout <<endl;
cout <<"1 - wygenerowac ciag liczb losowych z danego zakresu ("<<x<<")"<<endl;
cout <<"2 - automatycznie wypelnic ciag liczbami o szukanych wlasciwosciach"<<endl;
cout <<"3 - wpisac elementy ciagu z klawiatury"<<endl;
cout <<"4 - zakonczyc program"<<endl;
cout <<endl;
cin >> wybor;
cout <<endl;


if (wybor == 1)
{
	 losowo (tab, x, i, n, y);
	cho = 1;
	dodatkowo (tab, x,i, n, y);
}

else if (wybor == 2)
{
automatycznie (tab, x, i, n);
cho = 1;
}

else if (wybor == 3)
{
klawiatura(tab, x, i, n, y);
cho = 1;

}

else if (wybor == 4)
{

}
else
{
	
      
   
     

cout <<"nieprawidlowy wybor !";
 int cho = 1;
}
}
while (cho == 0);











}













0

W tej funkcji zamień:
if(tab[i]>=p)
sum+=tab[x];

            sum=sum+tab[i];

na:
if(tab[i]>=p) sum+=tab[i];
Ale resztę masz równie dobrze skopane.

0
_13th_Dragon napisał(a):

W tej funkcji zamień:
if(tab[i]>=p)
sum+=tab[x];

            sum=sum+tab[i];

na:
if(tab[i]>=p) sum+=tab[i];
Ale resztę masz równie dobrze skopane.

Wez skompiluj sobie moj program zrob wybierz np. 10 liczb do ciagu potem wez 1 i zrob ta funkcje i zobacz jak zle sumuje to...chce zeby poszla jedynka i zsmumowało mi ten ciąg obczaj.. Prosze

0

Przecież ci powiedziałem: - "resztę masz też równo skopaną".
Też mówiłem: - "1. sformatuj kod po ludzku." co oczywiście zignorowałeś.

0
#include <cstdlib>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

:>>

Do tego dodaj jeszcze 50 '\n'ek, usmierc rolke w mojej myszce.

1 użytkowników online, w tym zalogowanych: 0, gości: 1