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

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

Δημοσ.

Καλησπέρα παιδιά φοιτώ σε ένα δημόσιο ιεκ  και ο καθηγητής μας έβαλε σαν άσκηση να ψάξουμε να βρούμε απο το iternet δύο προγράμματα στην c τα οποία να είναι βασισμένα στίς εντολές που έχουμε μάθει .. εδώ και τρεις μέρες δεν έχω βρει κάτι , αν κάποιος ξέρει που μπορώ να τα βρω ή να μου πεί πως να τα συντάξω θα ήμουν ευγνώμον.

Πινάκας 10 γραμμών 10 στηλών με τυχαίους αριθμούς και να βρίσκουμε το άθροισμα της στήλης/γραμμής

Πινάκας 10 θέσεων με τυχαίους αριθμούς και να εμφανίζει το μικρότερο κ τον μεγαλύτερο      

Ευχαριστώ Προκαταβολικά

Δημοσ. (επεξεργασμένο)

Δεν κατάλαβα τίποτα. Σας έβαλε άσκηση να λύσετε αυτές τις ασκήσεις ή να βρείτε λύση στο Internet που να τις λύνουν?

Αν είναι το πρώτο είναι ασκήσεις των δύο λεπτών βασικά.

Αν είναι το δεύτερο δεν νομίζω πως εδώ είναι το κατάλληλο μέρος.

Επεξ/σία από kaliakman
Δημοσ. (επεξεργασμένο)
10 ώρες πριν, bernadi7 είπε

Καλησπέρα παιδιά φοιτώ σε ένα δημόσιο ιεκ  και ο καθηγητής μας έβαλε σαν άσκηση να ψάξουμε να βρούμε απο το iternet δύο προγράμματα στην c τα οποία να είναι βασισμένα στίς εντολές που έχουμε μάθει .. εδώ και τρεις μέρες δεν έχω βρει κάτι , αν κάποιος ξέρει που μπορώ να τα βρω ή να μου πεί πως να τα συντάξω θα ήμουν ευγνώμον.

Πινάκας 10 γραμμών 10 στηλών με τυχαίους αριθμούς και να βρίσκουμε το άθροισμα της στήλης/γραμμής

Πινάκας 10 θέσεων με τυχαίους αριθμούς και να εμφανίζει το μικρότερο κ τον μεγαλύτερο      

Ευχαριστώ Προκαταβολικά

Αν και απάντησα στο adslgr, ας απαντήσω και εδώ.

Δεν ξέρω ποιες είναι οι εντολές που έχετε μάθει αλλά μία μορφή της 2ης μπορεί να είναι η εξής:

#include <stdio.h>
#include <sys/mman.h>
	
int main(int bern, char **adi7)
{
int *A, t = 0, k;
while (*++*adi7)
t++;
A = mmap(NULL, t + 2, 1 | 2, 1 | 32, 0, 0);
asm ("movl %1, %%eax;" "movl $4, %%ebx;" "mul %%ebx;" "movl %%eax, %%ecx;"
     "movl %0, %%ebx;" "movl $0x163, %%eax;"
     "movl $0x01, %%edx;" "int $0x80;" : : "r" (A), "r" (t)
     : "eax", "ebx", "ecx", "edx", "memory", "cc");
for (k = 0; k < t; k++) {
(*(k+A) > *(t+A)) ? *(t+A)=*(k+A): 1;
(*(k+A) < *(t+A+1)) ? *(t+A+1)=*(k+A): 1;
printf("%d = %d\n", k, *(A+k));
}
printf("Megalutero = %d - Mikrotero = %d\n", *(t+A), *(t+A+1));
munmap(A, t);
return 0;
}
	
Έξοδος:
% cc -Wall -m32 -o bernadi7b tmp.c
% ./bernadi7b
0 = -1462956625
1 = -1304553775
2 = -1826444682
3 = -893441462
4 = 49832128
5 = 1379780867
6 = -766519679
7 = -194369397
8 = -2117995407
9 = 854905930
Megalutero = 1379780867 - Mikrotero = -2117995407
	

 

Παρόμοια είναι και η 1η αλλά με πίνακα δύο διαστάσεων.

Επεξ/σία από imitheos
  • Like 5
  • Confused 1
  • Moderators
Δημοσ. (επεξεργασμένο)
1 ώρα πριν, imitheos είπε

while (*++*adi7)

1hbxdq.jpg

Τζίζους...

Επεξ/σία από Kercyn
  • Like 1
  • 4 εβδομάδες αργότερα...
Δημοσ.
Στις 2/7/2018 στις 2:20 ΜΜ, imitheos είπε

Βασική αριθμητική δεικτών :)

Βασικά code readability, maintenability και extendability...αλλά προφανώς το smartability σε ορισμένους υπερισχύει. Σε μεγάλη εταιρεία θα σε κοροιδεύουν για το complexity σου σε απλά προβλήματα.

  • Moderators
Δημοσ.
4 λεπτά πριν, dinak είπε

Βασικά code readability, maintenability και extendability...αλλά προφανώς το smartability σε ορισμένους υπερισχύει. Σε μεγάλη εταιρεία θα σε κοροιδεύουν για το complexity σου σε απλά προβλήματα.

 

9nohQh4.jpg

  • Like 3

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...