Hjálp við verkefni í tölvunarfræði
Sent: Fös 26. Sep 2014 15:54
Er að gera verkefni í tölvunarfræði fyrir skólann. Er alveg stop og hef ekki hugmynd hvað ég á að gera.
Fyrirmælin eru eftirfarandi:
Veldisfylki strengs er fylki allra þeirra strengja sem hægt er að fá með því að fjarlægja núll eða fleiri stafi úr strengnum. Það skilyrði fylgir að veldisfylkið er í vaxandi stafrófsröð. Einnig er skilyrði (loforð) að stafirnir í upphaflega strengnum eru í vaxandi stafrófsröð og að enginn stafur er endurtekinn. Auk þess megið þið reikna með að upphaflegi strengurinn innihaldi í mesta lagi 26 stafi (úr stafamenginu {a..z}). Til dæmis er veldisfylki tóma strengsins, "", fylkið sem inniheldur aðeins tóma strenginn, {""}. Veldisfylki strengsins "a", er fylkið {"","a"}. Veldisfylki strengsins "ab", er fylkið {"","a","ab","b"}. Veldisfylki strengsins "ac", er fylkið {"","a","ac","c"}. Veldisfylki strengsins "abc", er fylkið {"","a","ab","abc","ac","b","bc","c"}.
Okkur var svo gefin beinagrind að lausninni. Lýtur svona út:
// Notkun: b = isInPowerArray(x,i,y);
// Fyrir: x er strengur sem inniheldur aðeins stafina
// a,b,...,z (enska stafrófið). Enginn
// stafur er endurtekinn í strengnum og
// stafirnir eru í stafrófsröð. Lengd
// strengsins er því á bilinu 0..26.
// i er hvaða heiltala sem er, y er strengur.
// Eftir: b er satt þá og því aðeins að veldisfylki
// strengsins x hafi strenginn y í sæti i.
static public boolean isInPowerArray( String x, int i, String y )
{
int n = 0;
String[] veldisfylki = new String[]{""};
}
// ÞIÐ MEGIÐ ÚTFÆRA EFTIRFARANDI FALL OG FLEIRI
// HJÁLPARFÖLL EF ÞIÐ VILJIÐ, EN ÞIÐ ÞURFIÐ
// ÞESS EKKI.
// Notkun: a = powerArray(x);
// Fyrir: x er strengur sem inniheldur stafi
// a..z í stafrófsröð, núll eða fleiri.
// Hver stafur má í mesta lagi koma fyrir
// einu sinni.
// Eftir: a vísar á veldisfylki strengsins x.
static public String[] powerArray( String[] x )
{
// ÞESSU ÞARF AÐ BREYTA, EF ÞIÐ ÆTLIÐ AÐ
// NOTA ÞETTA FALL
return null;
}
// Notkun: sort(a);
// Fyrir: a er strengjafylki.
// Eftir: a hefur verið raðað í vaxandi stafrófsröð.
public static void sort( String[] a )
{
// ÞESSU ÞARF AÐ BREYTA, EF ÞIÐ ÆTLIÐ AÐ
// NOTA ÞETTA FALL
}
er einhver hér sem gæti hjálpað mér eða beint mér á rétta braut?
Fyrirmælin eru eftirfarandi:
Veldisfylki strengs er fylki allra þeirra strengja sem hægt er að fá með því að fjarlægja núll eða fleiri stafi úr strengnum. Það skilyrði fylgir að veldisfylkið er í vaxandi stafrófsröð. Einnig er skilyrði (loforð) að stafirnir í upphaflega strengnum eru í vaxandi stafrófsröð og að enginn stafur er endurtekinn. Auk þess megið þið reikna með að upphaflegi strengurinn innihaldi í mesta lagi 26 stafi (úr stafamenginu {a..z}). Til dæmis er veldisfylki tóma strengsins, "", fylkið sem inniheldur aðeins tóma strenginn, {""}. Veldisfylki strengsins "a", er fylkið {"","a"}. Veldisfylki strengsins "ab", er fylkið {"","a","ab","b"}. Veldisfylki strengsins "ac", er fylkið {"","a","ac","c"}. Veldisfylki strengsins "abc", er fylkið {"","a","ab","abc","ac","b","bc","c"}.
Okkur var svo gefin beinagrind að lausninni. Lýtur svona út:
// Notkun: b = isInPowerArray(x,i,y);
// Fyrir: x er strengur sem inniheldur aðeins stafina
// a,b,...,z (enska stafrófið). Enginn
// stafur er endurtekinn í strengnum og
// stafirnir eru í stafrófsröð. Lengd
// strengsins er því á bilinu 0..26.
// i er hvaða heiltala sem er, y er strengur.
// Eftir: b er satt þá og því aðeins að veldisfylki
// strengsins x hafi strenginn y í sæti i.
static public boolean isInPowerArray( String x, int i, String y )
{
int n = 0;
String[] veldisfylki = new String[]{""};
}
// ÞIÐ MEGIÐ ÚTFÆRA EFTIRFARANDI FALL OG FLEIRI
// HJÁLPARFÖLL EF ÞIÐ VILJIÐ, EN ÞIÐ ÞURFIÐ
// ÞESS EKKI.
// Notkun: a = powerArray(x);
// Fyrir: x er strengur sem inniheldur stafi
// a..z í stafrófsröð, núll eða fleiri.
// Hver stafur má í mesta lagi koma fyrir
// einu sinni.
// Eftir: a vísar á veldisfylki strengsins x.
static public String[] powerArray( String[] x )
{
// ÞESSU ÞARF AÐ BREYTA, EF ÞIÐ ÆTLIÐ AÐ
// NOTA ÞETTA FALL
return null;
}
// Notkun: sort(a);
// Fyrir: a er strengjafylki.
// Eftir: a hefur verið raðað í vaxandi stafrófsröð.
public static void sort( String[] a )
{
// ÞESSU ÞARF AÐ BREYTA, EF ÞIÐ ÆTLIÐ AÐ
// NOTA ÞETTA FALL
}
er einhver hér sem gæti hjálpað mér eða beint mér á rétta braut?