Najdaljši niz
Sestavi metodo
ki poišče najdaljši niz v dani tabeli nizov, in ga izpiše na zaslon. Če je tabela prazna (dolga 0 vnosov), ne naredi ničesar.
Sestavi tudi testni program, ki metodo preveri.
Primer:
Izpiše se Leonardo da Vinci.
public static void najdaljsiNiz(String[] nizi)
String[] tab = {"Pablo Picasso","Leonardo da Vinci","Van Gogh Gallery",};
String niz = NajdaljsiNiz(tab);
V metodi uporabimo zanko, s pomočjo katere poiščemo najdaljši niz. Pri tem si pomagamo z ukazoma za dolžino niza in dolžino tabele.
Najprej preverimo, če je dolžina tabele večja od 0 (sicer ne naredimo ničesar). Na začetku nastavimo trenutno najdaljši niz na prvi niz tabele. Potem po vrsti v zanki pregledujemo ostale nize in vedno trenutni niz primerjamo s trenutno najdaljšim nizom. Če je trenutni niz daljši od trenutno najdaljšega, si ta niz zapomnimo kot trenutno najdaljšega. Ko pregledamo vse elemente v tabeli, bomo v trenutno najdaljšem nizu imeli ravno enega od najdaljših nizov v tabeli. Sedaj moramo le še poskrbeti za njegov izpis.
public class NajdaljsiNiz {
public static void main(String[] args) {
String[] tab = { "Pablo Picasso", "Van Gogh Gallery",
"Leonardo da Vinci"
};
izpis(tab);
System.out.println();
najdaljsiNiz(tab);
}
// iscemo najdaljsi niz
public static void najdaljsiNiz(String[] nizi) {
// ce tabela ni prazna
if (nizi.length > 0) {
// poiscemo najdaljsi niz v tabeli
String najdaljsi = nizi[0];
for (int i = 0; i < nizi.length; ++i) {
// ce je niz na trenutnem mestu daljsi, bo od zdaj naprej ta
// najdaljsi
if (nizi[i].length() > najdaljsi.length()) {
najdaljsi = nizi[i];
}
}
System.out.println(najdaljsi);
}
}
// metoda za izpis tabele nizov
public static void izpis(String[] tab) {
System.out.print("[");
// izpisemo vse elemente, razen zadnjega (za njim ni vejice)
for (int i = 0; i < tab.length - 1; ++i) {
System.out.print(tab[i] + ", ");
}
// izpisemo se zadnji element
System.out.print(tab[tab.length - 1] + "]");
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace NajdaljsiNiz {
class NajdaljsiNiz {
static void Main(string[] args) {
String[] tab = { "Pablo Picasso", "Van Gogh Gallery",
"Leonardo da Vinci"
};
izpis(tab);
Console.WriteLine();
najdaljsiNiz(tab);
Console.ReadKey();
}
// iscemo najdaljsi niz
public static void najdaljsiNiz(String[] nizi) {
// ce tabela ni prazna
if (nizi.Length > 0) {
// poiscemo najdaljsi niz v tabeli
String najdaljsi = nizi[0];
for (int i = 0; i < nizi.Length; ++i) {
// ce je niz na trenutnem mestu daljsi, bo od zdaj naprej ta
// najdaljsi
if (nizi[i].Length > najdaljsi.Length) {
najdaljsi = nizi[i];
}
}
Console.WriteLine(najdaljsi);
}
}
// metoda za izpis tabele nizov
public static void izpis(String[] tab) {
Console.Write("[");
// izpisemo vse elemente, razen zadnjega (za njim ni vejice)
for (int i = 0; i < tab.Length - 1; ++i) {
Console.Write(tab[i] + ", ");
}
// izpisemo se zadnji element
Console.Write(tab[tab.Length - 1] + "]");
}
}
}
#!C:/Python30/python
#-*-encoding: utf-8 -*-
# -*- coding: latin-1 -*-
# iscemo najdaljsi niz
def najdaljsiNiz(nizi):
# ce tabela ni prazna
if (len(nizi) > 0):
# poiscemo najdaljsi niz v tabeli
najdaljsi = nizi[0]
for i in range(len(nizi)):
# ce je niz na trenutnem mestu daljsi, bo od zdaj naprej ta
# najdaljsi
if len(nizi[i]) > len(najdaljsi):
najdaljsi = nizi[i]
print(najdaljsi)
return najdaljsi
tab = ["Pablo Picasso", "Van Gogh Gallery","Leonardo da Vinci"]
print(tab)
najdaljsiNiz(tab)