Zar je ovo C/C++ code:
#!/usr/bin/perl
use strict;
unless(@ARGV>1){print "unesi stranice kvadrata: $0 a b\n";exit}
my $a=shift(@ARGV);
my $b=shift(@ARGV);
print 'P='.$a*$b.', O='.2*($a+$b)."\n";
Mislio sam da znam bar osnovnu sintaksu C/C++ !!!
U čemu je stvar, ne pratim toliko Standard ali sumnjam da se toliko promenilo? Je li ovo Perl?
Evo jedan sa školskog takmičenja:
Dat je niz A od N prirodnih brojeva (N<=500) . Napisati program kojim se ispisuje indeks onog elementa u nizu
A za koji je zbir elemenata niza koji stoje pre tog elementa najmanje razlikuje od zbira elemenata niza koji stoje posle njega.
Moja verzija rešenja je ( indeks koji se ispisuje je matematički, veći je za 1 od indeksa u C++ nizu jer ne počinje od 0 ):
Code (cpp):#include<iostream>
#include<cmath>
using namespace std;
int main(){
int a[500],razlika[500],N,i,j,k,m,s,min,leva,desna;
cout<<"Unesite broj elemenata niza (manji od 500): ";
cin>>N;
for(i=0;i<N;i++){
cout<<"a["<<i<<"]= ";
cin>>a[i];}
razlika[0]=10000;
razlika[N-1]=10000;
for(i=1;i<N-1;i++){
leva=0;
desna=0;
for(j=0;j<i;j++){
leva += a[j];}
for(m=i+1;m<N;m++){
desna += a[m];}
razlika[i]=abs(desna - leva);}
for(s=0;s<N;s++){ //samo ispisuje niz razlika[],provere radi
cout<<"razlika["<<s<<"]= "<<razlika[s]<<endl;}
min = razlika[1];
for(i=0;i<N;i++){
if(razlika[i]< min){
min = razlika[i];}}
for(i=0;i<N;i++){
if( razlika[i]==min){k=i+1;} }
cout<<"Broj indeksa je: "<<k<<endl;
system("PAUSE");
return 0;
}
Ima li neko savet za optimizaciju, osim onog vezanog za veliki broj promenljivih, to sam namerno ubacio?
[Ovu poruku je menjao mmix dana 01.12.2010. u 12:28 GMT+1]