Funkcia s rozsahom pola – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Funkcia s rozsahom pola – C / C++ – Fórum – Programujte.comFunkcia s rozsahom pola – C / C++ – Fórum – Programujte.com

 

Marek Čačko0
Stálý člen
1. 4. 2007   #1
-
0
-

potrebujem tutu funkciu upravit aby vracala ukazovatel na miesto za poslednim naplnenim prvkom v poli

int fill_array(double * begin, double * end)

{
double temp;
int i;
for(i=0;i< Max; i++)
{
cout << "Zadajte hodnotu c." << (i+1) << ": ";
cin >> temp;
if (!cin)
{
cin.clear();
while(cin.get()!='\n')
continue;
cout << "Neplatny vstup, zadavanie ukoncene.\n";
break;
}
else if(temp < 0)
break;
*(begin+i)= temp;
}
cout << i;
return i;
}


a tu je cely program


#include <iostream>
using namespace std;
const int Max = 5;
double prosperites[Max];

int fill_array(double * begin, double * end);
void show_array(const double * begin, const double * end, int in);
void revalue(double r, double * begin, double * end);

int main()
{

int size = fill_array(prosperites, prosperites+Max);
show_array(prosperites, prosperites+size, size);
cout << "Zadajte koeficient prehodnotenia: ";
double factor;
cin >> factor;
revalue(factor, prosperites, prosperites+size);
show_array(prosperites, prosperites+size, size);
cout << "Hotovo.\n";

while(cin.get()!='\n');
while(cin.get()!='\n');
return 0;
}

int fill_array(double * begin, double * end)
{
double temp;
int i;
for(i=0;i< Max; i++)
{
cout << "Zadajte hodnotu c." << (i+1) << ": ";
cin >> temp;
if (!cin)
{
cin.clear();
while(cin.get()!='\n')
continue;
cout << "Neplatny vstup, zadavanie ukoncene.\n";
break;
}
else if(temp < 0)
break;
*(begin+i)= temp;
}
cout << i;
return i;
}

void show_array(const double * begin, const double * end, int in)
{
for(int i=0; i< in; i++)
{
cout << "Majetok c." << (i+1) << ": ";
cout << *(begin+i) << " Sk\n";
}
}

void revalue(double r, double * begin, double * end)
{
for(int i=0; i< Max; i++)
*(begin+i)*=r;
}

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
1. 4. 2007   #2
-
0
-

Inac dost haluzne pouzivas to end, lebo som nenasiel nejak jeho opodstatnenie, radsej by som pouzival velkost pola.Ak som to spravne pochopil tak mas 2 moznosti:



double* fill_array(double * begin)
{
double temp;
int i;
for(i=0;i< Max; i++)
{
cout << "Zadajte hodnotu c." << (i+1) << ": ";
cin >> temp;
if (!cin)
{
cin.clear();
while(cin.get()!='\n')
continue;
cout << "Neplatny vstup, zadavanie ukoncene.\n";
break;
}
else if(temp < 0)
break;

*(begin+i)= temp;
}
cout << i;
return (begin+i);
}


alebo:



int fill_array(double * begin, double **end)
{
double temp;
int i;
for(i=0;i< Max; i++)
{
cout << "Zadajte hodnotu c." << (i+1) << ": ";
cin >> temp;
if (!cin)
{
cin.clear();
while(cin.get()!='\n')
continue;
cout << "Neplatny vstup, zadavanie ukoncene.\n";
break;
}
else if(temp < 0)
break;
*(begin+i)= temp;
}
cout << i;
*end = begin+i;
return i;
}

Nahlásit jako SPAM
IP: ...–
shutdown -h now
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 66 hostů

Podobná vlákna

Funkcia v JS — založil DuDo

Funkcia — založil ukulele

Pomoc funkcia — založil bbeni

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý