Προς το περιεχόμενο

Ασκήση στην τρίτη λυκείου


NetworkMeltdown

Προτεινόμενες αναρτήσεις

Δημοσ.
Οταν πας να καλέσεις ένα στοιχείο του πινακα Α[i/2]

Για i = 1 πέρνεις το στοιχείο Α[0.5] που δεν υπάρχει.

Παντα βάζουμε ακέραιους Α[1,2,3,...]

 

Τι είναι το "%" ???

 

Το / ειναι div και το % mod... εχει βαλει και την αντιστοιχη αλγοριθμική λυση που ζητησες.

  • Απαντ. 55
  • Δημ.
  • Τελ. απάντηση
Δημοσ.
Οταν πας να καλέσεις ένα στοιχείο του πινακα Α[i/2]

Για i = 1 πέρνεις το στοιχείο Α[0.5] που δεν υπάρχει.

Παντα βάζουμε ακέραιους Α[1,2,3,...]

 

Τι είναι το "%" ???

 

1/2 != 0.5 (διαίρεση ακεραίων, τουλάχιστον όχι μέχρι την 2.6)

% -> http://en.wikipedia.org/wiki/Modulo_operator

>>>> for i in range(8):
...     print i,i%2,i/2
...
0 0 0
1 1 0
2 0 1
3 1 1
4 0 2
5 1 2
6 0 3
7 1 3

Δημοσ.

Τετοια μορφη πρέπει να έχουν οι πράξεις για να γίνουν σε μια σειρά:

 

1η επανάληψη:

Γ[1]<-1*Α[1]+0*Β[1]

2η επανάληψη:

Γ[2]<-0*Α[1]+1*Β[1]

3η επανάληψη:

Γ[3]<-1*Α[2]+0*Β[2]

4η επανάληψη:

Γ[4]<-0*Α[2]+1*Β[2]

5η επανάληψη:

Γ[5]<-1*Α[3]+0*Β[3]

6η επανάληψη:

Γ[6]<-0*Α[3]+1*Β[3]

7η επανάληψη:

Γ[7]<-1*Α[4]+0*Β[4]

8η επανάληψη:

Γ[8]<-0*Α[4]+1*Β[4]

 

ή

 

1η επανάληψη:

Γ[1]<-Α[1]

2η επανάληψη:

Γ[2]<-Β[1]

3η επανάληψη:

Γ[3]<-Α[2]

4η επανάληψη:

Γ[4]<*Β[2]

5η επανάληψη:

Γ[5]<-Α[3]

6η επανάληψη:

Γ[6]<-Β[3]

7η επανάληψη:

Γ[7]<-Α[4]

8η επανάληψη:

Γ[8]<-Β[4]

 

Αυτό που θέλαμε δηλαδή.

 

>
1η Για i από 1 μέχρι 8
2η Γ[i]<-(i mod 2)*A[(i+2-(i mod 2))/2]+(1-(i mod 2))*B[(i+(i mod 2))/2]
3η Τέλος_Επανάληψης

Δημοσ.

>
1η Για i από 1 μέχρι 8
2η Γ[i]<-(i mod 2)*A[(i+2-(i mod 2))/2]+(1-(i mod 2))*B[(i+(i mod 2))/2]
3η Τέλος_Επανάληψης

 

Πιο αλγοριθμικό είναι αυτό πιστεύω:

>
1η Για i από 1 μέχρι 8
2η Γ[i]<-(i mod 2)*A[((i-1)/2)+1]+((i+1) mod 2)*B[((i-1)/2)+1]
3η Τέλος_Επανάληψης

Δημοσ.
Πιο αλγοριθμικό είναι αυτό πιστεύω:

>
1η Για i από 1 μέχρι 8
2η Γ[i]<-(i mod 2)*A[((i-1)/2)+1]+((i+1) mod 2)*B[((i-1)/2)+1]
3η Τέλος_Επανάληψης

 

Για i = 2 πάει:

0*A[3/2]+1*B[3/2]

Δεν υπάρχει θέση 3/2

ακομα και έτσι να ήταν

0*A[3/2]+1*B[1]

πάλι λάθος είναι.

 

Φαίνεται το δοκιμάσες μόνο για i=1 για υτο σας λέω ότι είναι για άντρες.

Πρέπει να δουλέυει για όλες τις τιμές απο 8 μεχρι 1 --> 8=>

Δημοσ.
Για i = 2 πάει:

0*A[3/2]+1*B[3/2]

Δεν υπάρχει θέση 3/2

ακομα και έτσι να ήταν

0*A[3/2]+1*B[1]

πάλι λάθος είναι.

 

Δεν θυμάμαι αν στην Τρίτη Λυκείου το / σήμαινε διαίρεση ή div.

Αν υπάρχει το div στην τρίτη λυκείου βάλε όπου / το div και είσαι έτοιμος.

 

Γιατί στις γλώσσες προγραμματισμού όταν διαιρείς ακέραιους 3/2=1

Δημοσ.
Δεν θυμάμαι αν στην Τρίτη Λυκείου το / σήμαινε διαίρεση ή div.

Αν υπάρχει το div στην τρίτη λυκείου βάλε όπου / το div και είσαι έτοιμος.

 

Γιατί στις γλώσσες προγραμματισμού όταν διαιρείς ακέραιους 3/2=1

 

Σίγουρα μπορεί να γίνει με div με μια ματιά δουλεύει.

Δημοσ.
ελάτε τώρα... πάμε στο δικό μου

 

τι μας κανεις βραδιατικα....

>

============
gsem trapezaki;
bsem prinoynaki[N];

init( &trapezaki , N - 1);

for ( int i = 0 ; i < N ; i++ )init( &pirounaki[i],2);

===================

Down(trapezaki);

Down(pirounaki[ i ];
Down( pirounaki[ (i+1) % N ];

/*fae palio xontre*/


up(pirounaki[ i ];
up( pirounaki[ (i+1) % N ];

up(trapezaki);

 

 

ειμαι πολυ σκληρος....:devil:

Δημοσ.
Παρακμή...

Δέχομαι οποιαδήποτε προκληση σε αλγόριθμους οχι γλώσσες προγραμματισμου C,VB... Αλλα δείξε μου πρώτα οτι ξερεις τα βασικα.

 

δεν εχω να αποδειξω τιποτα κ δεν θα καθομαι να μετραω ποιος τον εχει ποιο μεγαλο τον αλγοριθμο σε ενα φορουμ κ σε ενα τοπικ που δεν ζηταει βοηθεια αλλα μονο προμοταρει . αυτα απο μενα καληνυχτα .

Δημοσ.

Εμένα πάντως το μόνο πράγμα που μου φάνηκε ενδιαφέρον μέσα σε αυτό το topic βαρβατήλας είναι αυτό..! Πολύ καλός..!

 

σε python 2.6 (2 γραμμές) + edit: αλγόριθμος (3 γραμμές)

>
for i in range(8):
C[i]=(i+1)%2*A[i/2]+i%2*B[i/2]

τουτέστιν αλγοριθμικά

1η ΓΙΑ i ΑΠΟ 0 ΜΕΧΡΙ 8 ΜΕ ΒΗΜΑ 1

2η Γ = ((ι+1) MOD 2)*Α[i DIV 2] + (ι MOD 2)*Α[i DIV 2]

3η ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Δημοσ.

Χμμ.. Υπαρχει λογος για το πινακα Γ? Εδω ειναι το ερωτημα. :lol:

 

 

Εαν το πιασεις... το'πιασες

>#define PINAKAS_C(pinakasA,pinakasB,idx) idx % 2 == 0 ? pinakasA[idx/2] : pinakasB[idx/2]	
int main()
{
int pA[4] = {1,2,3,4};
int pB[4] = {5,6,7,8};


for(int i=0;i<8;i++)
	printf("%d\n",PINAKAS_C(pA,pB,i));
getchar();
return 0;
}

 

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...