Nimitaulukko sisältää nimiä. Osa nimistä on useampaan kertaan.
Nyt nimitaulukko pitäisi siivota siten, että siellä on jokainen nimi vain kerran
Kuinka tuo oikein toteutetaan? Olen yrittänyt vaikka mitä, mutta aina menee siihen pisteeseen ettei tajua miten...
Olisiko jotain vinkkiä...esim. koodin pätkää. hitto kun en muista missä oli erilaisia taulukkojen lajittelu malleja ym ym...
merkkijonotaulukon "siivoaminen"
13
537
Vastaukset
- hjelppinkiä?
#include
#include
#include
int main (void)
{
char vertailtava[10];
int i,j=0;
char keratyt_nimet[6][10]={""};
char nimitaulukko[6][10]={"Kalle",
"Pekka",
"Ari",
"Pentti",
"Ari",
"Kalle"
};
printf("Taulukossa: \n");
for(i=0; i- sdsdsdrrwrdssdsd
For-loopillahan tuo vissiin pitäisi toteuttaa jos teulukkossa alkaa olemaan esiintymiä yhtää nenempää.
- hjelppinkiä
sdsdsdrrwrdssdsd kirjoitti:
For-loopillahan tuo vissiin pitäisi toteuttaa jos teulukkossa alkaa olemaan esiintymiä yhtää nenempää.
Toimii ainakin jotenkin...
include
include
include
int main (void)
{
int i, j=0;
char szOperators[6][15]={"Matti", "Seppo", "Kalevi","Esko","Matti","Tero"};
char szKeratytKuskit[6][15]={""};
int nKeratytAjomatkat[300]={0};
char szVerrattava[15];
char cTalletaTaulukkoon=0;
char cLoytyi=0;
char cEiLoytynyt=0;
int nTalletusKohta=0;
for(i=0;i - myslihattu
hjelppinkiä kirjoitti:
Toimii ainakin jotenkin...
include
include
include
int main (void)
{
int i, j=0;
char szOperators[6][15]={"Matti", "Seppo", "Kalevi","Esko","Matti","Tero"};
char szKeratytKuskit[6][15]={""};
int nKeratytAjomatkat[300]={0};
char szVerrattava[15];
char cTalletaTaulukkoon=0;
char cLoytyi=0;
char cEiLoytynyt=0;
int nTalletusKohta=0;
for(i=0;iTässä nyt yksi tapa, C ;
Tee tarvittavat muutokset C-kieleen, jos on joku koulu työ.
#include
using namespace std;
int main(){
const int index=6;
char nimet[index][10]={"Kalle","Pekka","Ari","Pentti","Ari","Kalle"};
for(int i = 0; i 1 < index; i ){
for(int j = i 1; j < index; j ){
if(!strcmp(nimet[i],nimet[j])){
// duplikaatti löytynyt
// laitetaan ko. kohta tyhjäksi.
std::cout - myslihattu
myslihattu kirjoitti:
Tässä nyt yksi tapa, C ;
Tee tarvittavat muutokset C-kieleen, jos on joku koulu työ.
#include
using namespace std;
int main(){
const int index=6;
char nimet[index][10]={"Kalle","Pekka","Ari","Pentti","Ari","Kalle"};
for(int i = 0; i 1 < index; i ){
for(int j = i 1; j < index; j ){
if(!strcmp(nimet[i],nimet[j])){
// duplikaatti löytynyt
// laitetaan ko. kohta tyhjäksi.
std::coutHieno C palsta jos ei voi edes kieltä kirjoittaa.
Kun < > merkit puuttuu.
#include iostream
using namespace std;
int main(){
const int index=6;
char nimet[index][10]={"Kalle","Pekka","Ari","Pentti","Ari","Kalle"};
for(int i = 0; i 1 < index; i ){
for(int j = i 1; j < index; j ){
if(!strcmp(nimet[i],nimet[j])){
// duplikaatti löytynyt
// laitetaan ko. kohta tyhjäksi.
nimet[j][0] = '\0';
}
}
}
// katotaan miltä näyttää;
for(int i = 0; i < index; i ){
if(nimet[i][0] == '\0'){
// TÄMÄ INDEKSI ON TYHJÄ
} else {
// TULOSTA NIMI taulukosta
}
}
std::cin.get();
return 0;
}
- Kaikkee paskaa!
Maailmassa on todennäköisesti satojatuhansia samannimisiä henkilöitä, mutta useat Internetin merkittävimpien palveluitten tuottajista ei kuitenkaan atk-maikkasi tavoin ole näin perustavanlaatuista seikkaa hiffannut, vaan kehittelevät toinen toistansa muukamas hienostuneempia keinoja, joilla voivat siivota asiakkaistaan samannimiset pois. Tästä on seurauksena, että jo toinen Einari Epätoivo joutuu ottamaan Internetistä palvelua saadakseen uudeksi nimekseen Einari00001 Epätoivo, jotta palveluntarjojan taulukkoon ei tulisi kahta samannimistä!
- myslihattu
Ja tälläset henkilöt eivät pitäisi edes puhua ohjelmointi palstalla.
Kyseessä on harjoitustehtävä. Jonka tarkoitus on opettaa merkkijonon käyttöä C-kielessä.
Joten miksi sitä ei kannattaisi opetella?
Pitäiskö myös ns. for-silmukan pyramidi tehtävät kieltää, koska egyptiläiset rakensi ne jo 4-6000 vuotta sitte? - lflkfkfkdkkf
Totta. Tässä tapauksessa vain oikeasti tuo nimi (ja paljon muutakin) haetaan tiedostoista tuohon taulukkoon ja kerätään ns. "nimen perään". Sovelluksessa kuka tahansa voi olla mikä tahansa niminen.
Tuo oli vaan palane isompaa ohjelmaa jossa tuo nimitaulukko on muodostettu muualla...tuossa sitä vain siivotaan...
Mutta joo... jokin "ominaisuus" pitää eri esiintymilllä olla jotta ne voidaan erotella, jos se ei ole nimi, niin sitten sen pitää olla salasana....kirjautumispvm.
Tässä yritetään kuitenkin opetella.... Kiitoksia kuitnekin kommenteista. Ratkaisukin tuohon oli tosi helppo kun jäähdytteli aivot "happihyppelyllä" pakkasessa. Kun homma jumii niin sitten se jumii.... - ilkakasjas
lflkfkfkdkkf kirjoitti:
Totta. Tässä tapauksessa vain oikeasti tuo nimi (ja paljon muutakin) haetaan tiedostoista tuohon taulukkoon ja kerätään ns. "nimen perään". Sovelluksessa kuka tahansa voi olla mikä tahansa niminen.
Tuo oli vaan palane isompaa ohjelmaa jossa tuo nimitaulukko on muodostettu muualla...tuossa sitä vain siivotaan...
Mutta joo... jokin "ominaisuus" pitää eri esiintymilllä olla jotta ne voidaan erotella, jos se ei ole nimi, niin sitten sen pitää olla salasana....kirjautumispvm.
Tässä yritetään kuitenkin opetella.... Kiitoksia kuitnekin kommenteista. Ratkaisukin tuohon oli tosi helppo kun jäähdytteli aivot "happihyppelyllä" pakkasessa. Kun homma jumii niin sitten se jumii...."Mutta joo... jokin "ominaisuus" pitää eri esiintymilllä olla jotta ne voidaan erotella, jos se ei ole nimi, niin sitten sen pitää olla salasana....kirjautumispvm."
Ei käy (pohdi itse miksi ei). Ratkaisu on yksilöllinen id (unique identifier).
http://en.wikipedia.org/wiki/Unique_identifier#Computing
Duplikaattien poisto on perusjuttuja, jolle on joissakin kielissä valmiina funktiot/metodit.
Tuossa C :n vektorille ratkaisu ja selitys:
http://en.allexperts.com/q/C-1040/Delete-duplicate-elements-vector.htm
Ja vaikkapa Rubyssa on uniq ja uniq! (! tarkoittaa että muuttaa alkuperäistä taulukkoa) metodit:
http://www.ruby-doc.org/core/classes/Array.html#M000276
Toki harjoituksen vuoksi kannattaa tehdä oma versio. - ilkakasjas
lflkfkfkdkkf kirjoitti:
Totta. Tässä tapauksessa vain oikeasti tuo nimi (ja paljon muutakin) haetaan tiedostoista tuohon taulukkoon ja kerätään ns. "nimen perään". Sovelluksessa kuka tahansa voi olla mikä tahansa niminen.
Tuo oli vaan palane isompaa ohjelmaa jossa tuo nimitaulukko on muodostettu muualla...tuossa sitä vain siivotaan...
Mutta joo... jokin "ominaisuus" pitää eri esiintymilllä olla jotta ne voidaan erotella, jos se ei ole nimi, niin sitten sen pitää olla salasana....kirjautumispvm.
Tässä yritetään kuitenkin opetella.... Kiitoksia kuitnekin kommenteista. Ratkaisukin tuohon oli tosi helppo kun jäähdytteli aivot "happihyppelyllä" pakkasessa. Kun homma jumii niin sitten se jumii....Tietenkin nimi käy esim. kun käyttäjä pakotetaan valitsemaan uniikki käyttäjätunnus (kuten moni nettirekisteröinti toimii).
- myslihattu
ilkakasjas kirjoitti:
"Mutta joo... jokin "ominaisuus" pitää eri esiintymilllä olla jotta ne voidaan erotella, jos se ei ole nimi, niin sitten sen pitää olla salasana....kirjautumispvm."
Ei käy (pohdi itse miksi ei). Ratkaisu on yksilöllinen id (unique identifier).
http://en.wikipedia.org/wiki/Unique_identifier#Computing
Duplikaattien poisto on perusjuttuja, jolle on joissakin kielissä valmiina funktiot/metodit.
Tuossa C :n vektorille ratkaisu ja selitys:
http://en.allexperts.com/q/C-1040/Delete-duplicate-elements-vector.htm
Ja vaikkapa Rubyssa on uniq ja uniq! (! tarkoittaa että muuttaa alkuperäistä taulukkoa) metodit:
http://www.ruby-doc.org/core/classes/Array.html#M000276
Toki harjoituksen vuoksi kannattaa tehdä oma versio.""Tuossa C :n vektorille ratkaisu ja selitys:
http://en.allexperts.com/q/C-1040/Delete-duplicate-elements-vector.htm""
Miksi nykyään kaikki tehdään vektoreilla? Hirvee härdelli.
Linkitetty lista, linked list mieluiten kaksisuuntainen olis kaikista optimaalisin tähän :)
Senku deletois nimen pois listasta. - myslihatty
myslihattu kirjoitti:
""Tuossa C :n vektorille ratkaisu ja selitys:
http://en.allexperts.com/q/C-1040/Delete-duplicate-elements-vector.htm""
Miksi nykyään kaikki tehdään vektoreilla? Hirvee härdelli.
Linkitetty lista, linked list mieluiten kaksisuuntainen olis kaikista optimaalisin tähän :)
Senku deletois nimen pois listasta.Lisäys
Ja jos nimiä on järjetön määrä kuten vaikka väestörekisteri, ilman oraclee, sql:ää. Niin silloin pitää tarraa kiinni puusta ;)
(mutta todellisuudessa tietokanta taitaisi hoitaa ton asian) myslihattu kirjoitti:
""Tuossa C :n vektorille ratkaisu ja selitys:
http://en.allexperts.com/q/C-1040/Delete-duplicate-elements-vector.htm""
Miksi nykyään kaikki tehdään vektoreilla? Hirvee härdelli.
Linkitetty lista, linked list mieluiten kaksisuuntainen olis kaikista optimaalisin tähän :)
Senku deletois nimen pois listasta.> Linkitetty lista, linked list mieluiten kaksisuuntainen olis kaikista optimaalisin tähän :)
olet oikeassa: taulukoissa tuhlataan tilaa tai niistä loppuu tila kesken :-( linkitetty rakenne ei sido käsiä jos vaan keskusmuisti riittää
nopea käsittely sitten isoissa aineistoissa taitaa tosiaan mennä linkitettyjen binääripuiden käsittelyksi ... mutta pienet tavallisinakin ... ja jollei ole kiire niin aputiedostojen kautta
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Riikka Purran kaudella nousi bensan hinta yli 2 euron
Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal1224750Veli Sofia teki urosmehiläisen työn
Paljastaessaan kuinka TPS:ssä ei joukkuehenki toimi sooloilijoiden vuoksi, jonka takia koko seura ei pärjää kilpailussa43374Mitäs nyt sijoittajat?
Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no1263180Hjallis Harkimon, 72, Jasmine-rakas, 37, paljastaa suhteen alusta: "Vähän..."
Liikemies, kansanedustaja Hjallis Harkimo ja tuottaja-juontaja Jasmine Pajari ovat pariskunta. He asuvat yhdessä Sipooss262617Unisex-vessat
Ahdistaa. Miksi kaikki pitää tasapäistää tasa-arvon nimissä? Tasa-arvo on sitä, että kunnioitetaan sukupuolien erilaisu702322Jutta Larm, 52, haluaa kumota tämän piintyneen ikämyytin
Oletko samaa mieltä? Jutta Larm on 52-vuotias ja tehnyt pitkän uran yrittäjänä. Hän haluaa kumota tämän piintyneen ikämy181779Henri Alen tilittää yllättäen Vappu Pimiän uudesta MasterChef -pestistä: "Vaikka hän ei..."
Vappu Pimiä on uusi MasterChef Suomi -tuomari. Hän liittyi uudella MasterChef Suomi -kaudella arvovaltaiseen tuomaristoo91384Vastuun ottaminen omasta hyvinvoinnista
Olen huomannut tuttavapiirissäni ihmisiä, joilla on mt-diagnooseja. Sen sijaan, että millekään asialle yritettäisiin teh1171245Minkä kouluarvosanan 4-10 annat Beck-leffoille?
Vähiin käy ennen kuin loppuu... Beck-elokuvia on tullut tv:stä jopa 2-3 viikossa. Nyt leffojen esitystiheys on muuttunut91233Jäit kiinni siitä
että katselet minua. Käänsin pääni, minäkin etsin sinua, ja meidän katseemme kohtasivat. Eikä se haittaa - molemmat ky41098