Har försökt att få ihop tre deluppgifter till ett och samma projekt, men lyckas inget vidare. Jag ska alltså skriva en funktion som anropas från main- funktionen. Så här ser deluppgifterna ut.
#include <iostream.h>
//Deluppgift 1
char stora( char ch1 )
{
const int skillnad = int('a') - int('A'); //Deklarera en konstant!
char ch2;
int tal=10;
int talen \[10\]; //Deklarerar en array med namnet "talen"
int svar;
srand((unsigned) time(NULL)); //Initierar slumptalsgeneratorn
for (int i=0; i\<10; i++)
talen\=rand()% 10; //Fyller arrayen med slumptal
for (i=0; i\<10; i++)
cout\<\<talen\<\<"";
cout\<\<endl;
svar = max(talen, sizeof(talen) / sizeof(talen\[0\]));
cout\<\<"Det största talet är:"\<\<svar\<\<endl;
}
int max(int \*arr, int tal)
{
int m=0;
for (int i=0; i\<tal-1; i++)
{
if (arr \> m)
m = arr;
}
return m;
}
Finns det någon som kan tala om hur jag ska göra för att få det att fungera.
Kanske var lite luddig i min fråga. Jag ska alltså använda en main funktion till alla tre deluppgifterna och jag vet inte riktigt hur jag ska lösa detta.
Det ska se ut ungefär så här i själva main funktionen:
du kan ju lägga alla tre funktionerna i en separat .cpp fil, skapa .h filen för denna och anropa den med include i "main.cpp".
Alternativt (då du ju endast har tre funktioner) lägga funktionerna i "main.cpp".
Du kan välja mellan att lägga funktionerna före main eller lägga dem efter, men då måste du skapa funktionsdeklarationer och lägga dem före main.
Sedan är det bara att anropa dina funktioner som vanligt....
Var det detta svar du sökte?
Pew... wf-koden är snygg... men i mitt tycke lite för litet för att man skall kunna läsa koden bekvämt, eller så kör jag med för hög upplösning :)
Meningen med wf kod är att det ska bli överskådligt, vilket det inte blir om man kladdar in koden rätt upp och ned.
Förutom PERL taggen kan man använda KOD taggen som ger tydligare tecken men bjussar inte på tabbande... ändå så ger bägge dessa en mer överskådlig kod.
A-HA >>
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
char stora( char ch1 );
int dubbla(int a);
double dubbla(double a);
int max(int *arr, int tal);
//===========================M A I N====================================
int main ()
{
int talen [10]; //Deklarerar en array med namnet "talen"
int svar;
int a=5;
double b=5.3;
char t;
cout << "Vi testar en funktion. Ge ett tecken: ";
cin >> t;
cout << "\ntecknet " << t << " blir " << stora( t ) << endl;
cout << "\n\nFöre anrop av dubbla: " << a << " " << b << endl;
cout << "\nEfter anrop av dubbla: " << dubbla(a) << " "
<< dubbla(b) << endl << endl;
srand((unsigned) time(NULL)); //Initierar slumptalsgeneratorn
for (int i=0; i<10; i++) talen[i]=rand()% 10; //Fyller arrayen med slumptal
cout << "\n\n";
for(int i=0; i<10; i++) cout<<talen[i]<<""<<endl;
svar = max(talen, sizeof(talen) / sizeof(talen[0]));
cout<<"\nDet största talet är:"<<svar<<endl;
return 0;
}
//============================M A X====================================
int max(int *arr, int tal)
{
int m=0;
for (int i=0; i<tal-1; i++)
{
if (arr[i] > m)
m = arr[i];
}
return m;
}
//============================S T O R A===============================
char stora( char ch1 )
{
const int skillnad = int('a') - int('A'); //Deklarera en konstant!
char ch2;
if ( ( 'a' <= ch1 && ch1 <= 'z' ) ) ch2 = char( int(ch1) - skillnad );
else
ch2 = ch1;
return ch2;
}
//============================int D U B B L A=============================
int dubbla(int original)
{
return original+original;
}
//============================double D U B B L A==========================
double dubbla(double original)
{
return original+original;
}
Hallåjsan alla nattråttor...(01:05)...
...sitter själv nu och gnagar på ett gammalt inlägg här och fick en längre fundering över nedanstående funktion, som fanns med:
//============================M A X====================================
int max(int *arr, int tal)
{
int m=0;
for (int i=0; i<tal-1; i++)
{
if (arr[i] > m)
m = arr[i];
}
return m;
}
Kan nå´n vänlig programmeringssjäl tala om för mig, vad denna funktion har för uppgift och vad som egentligen händer mellan dessa rader?? :l
Funktionen loopar igenom en array beståendes av heltal. Arrayen loopas så många poster som 'tal' och returnerar det största positiva heltalet som fanns i arrayen.
inparameter: en adress till en array, ett heltal
variabel: integer m som sätts till 0
1. loop: besök varje position i array så länge index < heltal
2. för varje besök, jämför värdet av positionen i arrayen med m,
om högre, sätt m till värdet
3. returnera m