La noi nu intrii in examen cu mai mult de 3 absente, fiind printre singurele “materii” unde nu poti lipsi si intra in examen (cu punctaj scazut, dar totusi).
Si explica foarte bine… daca esti atent.
Pentru ca acel modul te ajuta sa devii “agile coach” si tot felul de astfel de vrajeli. Plus de-asta, ca sa faci meditatie la informatica, legal. Si sa predai.
Deasemenea, daca ai noroc de profesor sau profesoara care sa-si faca treaba (noi am prins directoarea facultatii de psihologie, dar a trebuit sa renunt, anul asta, pentru ca am trecut la taxa), are multe sa-ti explice. Uite un lucru pe care l-a atins in proportie de cam 50%. (Adica ne-a zis ca a observat corelatia de care se zice acolo, cu praise for work => more work, dar ca nu a cercetat amanuntit, fenomenul.)
Eh, la noi, la laborator se numeste “Tehnici Avansate de Programare” si ne-a vorbit despre fix asta. La seminar ne explica foarte bine, iar la laborator ne da cateva probleme, ne lasa cateva minute sa ne gandim, ne da idea lui de rezolvare “in mare”, iar daca avem probleme se uita la cod si ne da o indrumare. Azi am avut o eroare ciudata, iar proful a facut debug, juma’ de ora (la noi toate au cate 2 ore, nu stiu la voi)…
Codul in cauza, cauza un loop de citire din consola, cand incerca sa afiseze rezultatul.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package subsir_comun_maximal_doua_stringuri;
import java.io.*;
import java.util.Scanner;
/**
*
* @author SapioiT
*/
public class Subsir_comun_maximal_doua_stringuri {
/**
* @param args the command line arguments
*/
public static int check(int i, int j, String a, String b){
int k=0, la, lb;
la = a.length();
lb = b.length();
while((char)a.charAt(i+k) == (char)b.charAt(j+k)){
if(i+k+1>la || i+k+1>lb)
break;
k++;
}
return k;
}
public static int verif(String a, String b){
int la, lb, i, j, k, mk=0;
la = a.length();
lb = b.length();
for(i=0;i<la;i++){
for(j=0;j<lb;i++){
k=check(i,j,a,b);
if(k>mk)
mk=k;
}
}
for(i=0;i<lb;i++){
for(j=0;j<la;i++){
k=check(i,j,b,a);
if(k>mk)
mk=k;
}
}
return mk;
}
public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);
String a, b;
System.out.println("Introduceti primul string: \n");
a = sc.nextLine();
System.out.println("Introduceti al doilea string: \n");
b = sc.nextLine();
System.out.print("\nLungimea sirului maximal este: ");
System.out.print(verif(a,b));
}
}