Obraten seznam
Napiši program, ki bo prebral nekaj imen in jih nato zapisal v istem vrstnem redu, ampak obrnjena.
Namig
Program naj bo zasnovan takole:
- Preberemo, koliko imen bo vnesel uporabnik. Rezerviramo ustrezno veliko tabelo nizov.
- V zanki beremo imena po vrsti in jih vpisujemo v tabelo.
- V drugi zanki se sprehodimo po tabeli nizov in vsak niz obrnemo s postopkom za obračanje nizov ter ga izpišemo.
Namig
Dan niz obrnemo, se v zanki sprehodimo v obratnem vrstnem redu indeksov v nizu in znake pridružujemo novemu nizu, ki ga sproti sestavljamo. Zadnji indeks niza niz dobimo kot niz.length() - 1 medtem ko je prvi indeks enak 0.
Namig
Dan niz obrnemo, se v zanki sprehodimo v obratnem vrstnem redu indeksov v nizu in znake pridružujemo novemu nizu, ki ga sproti sestavljamo. Zadnji indeks niza niz dobimo kot niz.Length - 1 medtem ko je prvi indeks enak 0.
Rešitev (Java)
import javax.swing.JOptionPane;
public class ObratenSeznam {
public static void main(String[] args) {
// preberemo, koliko imen hocemo obrniti
String stevilo = JOptionPane.showInputDialog("Vnesi stevilo imen.");
int n = Integer.parseInt(stevilo);
// ustvarimo tabelo, v katero shranimo imena
String[] imena = new String[n];
for (int i = 0; i < n; ++i) {
imena[i] = JOptionPane
.showInputDialog("Vnesi " + (i + 1) + ". ime");
}
// imena obrnemo in sproti izpisemo rezultat
for (int i = 0; i < n; ++i) {
// obrnemo
String obrni = "";
int m = imena[i].length();
for (int j = m - 1; j >= 0; --j) {
obrni += imena[i].charAt(j);
}
// izpisemo
System.out.println(obrni);
}
}
}
Rešitev (C#)
using System;
using System.Collections.Generic;
using System.Text;
namespace ObratenSeznam {
class ObratenSeznam {
static void Main(string[] args) {
// preberemo, koliko imen hocemo obrniti
Console.Write("Vnesi stevilo imen: ");
int n = Int32.Parse(Console.ReadLine());
// ustvarimo tabelo, v katero shranimo imena
String[] imena = new String[n];
for (int i = 0; i < n; ++i) {
Console.Write("Vnesi " + (i + 1) + ". ime: ");
imena[i] = Console.ReadLine();
}
// imena obrnemo in sproti izpisemo rezultat
for (int i = 0; i < n; ++i) {
// obrnemo
String obrni = "";
int m = imena[i].Length;
for (int j = m - 1; j >= 0; --j) {
obrni += imena[i][j];
}
// izpisemo
Console.WriteLine(obrni);
}
Console.ReadKey();
}
}
}
Rešitev (Python)
#!C:/Python30/python
#-*-encoding: utf-8 -*-
# -*- coding: latin-1 -*-
'''
Created on 2.7.2009
@author: fajdigap
'''
#preberemo, koliko imen hocemo obrniti
n = int(input("Vnesi stevilo imen."))
# ustvarimo tabelo, v katero shranimo imena
imena = []
for i in range(n):
print("Vnesi %d. ime:" %(i + 1))
imena.append(input())
#imena obrnemo in sproti izpisemo rezultat
for i in range(n):
#obrnemo
obrni = ""
m = len(imena[i])
for j in range(m-1,-1,-1):
obrni = obrni + imena[i][j]
#izpisemo
print (obrni)