Ponovitve števila
Sestavi funkcijo ponovitev, ki prejme celo število $k$ in tabelo celih števil,
ter vrne število pojavitev števila $k$ v tabeli.
Primer: klic metode
Vrne odgovor $3$.
ponovitve( {1,2,3,2,1,2,3},2);
Namig
V zanki se sprehodi čez tabelo, primerjaj podano število $n$ s številom na trenutnem mestu v tabeli in sproti štej ponovitve.
Rešitev (Java)
import javax.swing.JOptionPane;
public class PonovitveStevila {
// glavni program
public static void main(String[] args) {
//vnesemo tabelo in stevilo
String vnos = JOptionPane.showInputDialog("Koliko elementov je v tabeli?");
int n = Integer.parseInt(vnos);
int[] tabela = new int[n];
for (int i = 0; i<n; ++i) {
vnos = JOptionPane.showInputDialog("Vnesi " + (i+1) + "stevilo:");
tabela[i] = Integer.parseInt(vnos);
}
vnos = JOptionPane.showInputDialog("Vnesi stevilo, katerega ponavljanje zelis preveriti:");
int k = Integer.parseInt(vnos);
//izpisemo tabelo
for (int i = 0; i<n; ++i) System.out.print(tabela[i] + " ");
System.out.println();
//uporabimo metodo in izpisemo rezultat
System.out.println("Stevilo: " + k + " se ponovi " + ponovitev(tabela,k) + "-krat");
}
public static int ponovitev( int[] tab, int k) {
int stevec = 0;
for (int i = 0; i<tab.length; ++i) {
if (k == tab[i]) stevec++;
}
return stevec;
}
}
Rešitev (C#)
using System;
using System.Collections.Generic;
using System.Text;
namespace PonovitveStevila {
class PonovitveStevila {
static void Main(string[] args) {
//vnesemo tabelo in stevilo
Console.Write("Koliko elementov je v tabeli? ");
int n = Int32.Parse(Console.ReadLine());
int[] tabela = new int[n];
for (int i = 0; i < n; ++i) {
Console.Write("Vnesi " + (i + 1) + " stevilo: ");
tabela[i] = Int32.Parse(Console.ReadLine());
}
Console.Write("Vnesi stevilo, katerega ponavljanje zelis preveriti: ");
int k = Int32.Parse(Console.ReadLine());
//izpisemo tabelo
for (int i = 0; i < n; ++i) Console.Write(tabela[i] + " ");
Console.WriteLine();
//uporabimo metodo in izpisemo rezultat
Console.WriteLine("Stevilo: " + k + " se ponovi " + ponovitev(tabela, k) + "-krat.");
Console.ReadKey();
}
public static int ponovitev(int[] tab, int k) {
int stevec = 0;
for (int i = 0; i < tab.Length; ++i) {
if (k == tab[i]) stevec++;
}
return stevec;
}
}
}
Rešitev (Python)
#!C:/Python30/python
#-*-encoding: utf-8 -*-
# -*- coding: latin-1 -*-
'''
Created on 24.6.2009
@author: fajdigap
'''
def ponovitev(tab, k):
stevec = 0
for i in range(len(tab)):
if k == tab[i]:
stevec=stevec+1
return stevec
#vnesemo tabelo in stevilo
n= int(input("Koliko elementov je v tabeli?"))
tab=[]
for i in range(n):
vnos = int(input("Vnesi število:"))
tab.append(vnos)
k= int(input("Vnesi število, katerega ponavljanje želis preveriti:"))
print(tab)
#uporabimo metodo in izpisemo rezultat
print ("Število:",k,"se ponovi",ponovitev(tab,k),"-krat")