TeiSerron.gr
Σχολή Μηχανικών => 2ο Εξάμηνο => Τμήμα Μηχανικών Πληροφορικής, Υπολογιστών & Τηλεπικοινωνιών => Προγραμματισμός II => Μήνυμα ξεκίνησε από: feirouz στις 30 Αυγούστου 2013, 08:40
-
Εχει καποιος τα θεματα που εβαλε ο Βαρσαμης τον Ιουνιο?
-
Τα εχω καπου... αν δεν με προλαβει καποιος θα τα ανεβασω το απογευμα... ;)
-
Ευχαριστω spot!!!Θα περιμενω!
-
Εγω ειχα το Δ αλλα ηταν ολα σχεδον ιδια... θα αλλαζαν μικρολεπτομερειες πραγματικα στα αλλα θεματα... διαφορες του τυπου, να εχει αλλα νουμερα η να ζηταει π.χ. στο θεμα 2 αντι για τον τριτο, τον τριτο απο το τελος και τον διακοσιοστο τον 5ο, τον 6ο απο το τελος και τον 500ο... πιστευω τα θεματα ηταν αρκετα βατα... εγω το περασα με 6 και αυτο επειδη εκανα βλακεια και δεν διαβασα καθολου καλα τα δυαδικα αρχεια και να που τα εβαλε... αλλα... αφου το περασα ομως... :P
-
υπάρχουν τπτ λύσεις???
-
//Θέμα 1ο
//α ερώτημα
void sum(int i, int j)
{
int sum = i + j;
printf("%d", sum);
}
//β ερώτημα
void scan(int *higher, int *lower)
{
printf("Give an integer: ");
scanf("%d", higher);
printf("Give an integer: ");
scanf("%d", lower);
if(*higher < *lower)
{
int temp = *higher;
*higher = *lower;
*lower = temp;
}
}
//γ ερώτημα
char fifthElement(string a)
{
if(a.size() >= 5)
return a.at(4);
return ' ';
}
//δ ερώτημα
void find(int table[], int tableSize, int *tenthElement, int *twentiethElement)
{
int i;
for(i = 0; i < tableSize; i++)
{
if(i == 9) *tenthElement = table[i];
if(i == 19) *twentiethElement = table[i];
}
}
//////////////////////////////////////////
/////////////////////////////////////////
//Θέμα 3ο
#include <stdio.h>
#include <stdlib.h>
void myfun(float *p1, float *p2, float a);
int main()
{
float k, i = 5.5, j = 4.5;
float *p1;
float *p2;
p1 = &i;//δείξε στην διεύθυνση του i άρα *p1 = i
p2 = &j;//δείξε στην διεύθυνση του j άρα *p2 = j
k = i + j;//k = 5.5 + 4.5 = 10
myfun(p1,p2,k);
printf("%f %f %f\n", i, j, k);//0.450000 0.045000 10.000000
return 0;
}
void myfun(float *p1, float *p2, float a)
{
//*p1 = 5.5, *p2 = 4.5
*p1 = *p2 / a;//*p1 = 4.5 / 10 = 0.45
*p2 = *p1 / a;//*p2 = 0.45 / 10 = 0.045
a = *p1 + *p2;//a = 0.45 + 0.045 = 0.495
}
//α)Εμφανίζει 0.450000 0.045000 10.000000
//β)αντί να χρησιμοποιήσουμε δείκτες, περνάμε απευθείας την διεύθυνση
//άρα η main μετασχηματίζεται σε
int main()
{
float k, i = 5.5, j = 4.5;
k = i + j;//k = 5.5 + 4.5 = 10
myfun(&i,&j,k);
printf("%f %f %f\n", i, j, k);//0.450000 0.045000 10.000000
return 0;
}
//////////////////////////////////////////
/////////////////////////////////////////
//Θέμα 4ο
float getRandomNumber()
{
float random = ((float) rand()) / (float) RAND_MAX;
float num = random * 100;
return num + 100;
}
-
Thnxxxxx :D
-
//Θέμα 2ο
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *pF;
int i;
float third, thirdFromEnd, twoHundredth;
float a[300];
pF = fopen("myfile.ddd","r");
for(i = 0; i < 300; i++)
fread(&a[i],sizeof(float),1,pF);
fclose(pF);
third = a[2];
thirdFromEnd = a[296];
twoHundredth = a[199];
printf("Third: %5f\n", third);
printf("Third from end: %5f\n", thirdFromEnd);
printf("Two-hundredth: %5f\n", twoHundredth);
return 0;
}
Mια διευκρίνιση για το 4ο Θέμα, στην αρχη παράγεται ένας τυχαίος πραγματικός αριθμός x.
Για να βρίσκεται όμως ανάμεσα στο 100 και το 200, δηλαδή 100 <= x <= 200 πρέπει να τον πολλαπλασιάσουμε με την διαφορά των ορίων, x*(200-100) και μετά να προσθέσουμε το κάτω όριο εξού και το x + 100.