Προς το περιεχόμενο
  • Εγγραφή
  • 0

Εργασιες ζητανε λυση! Visual Basic και C


iFrankie

Ερώτηση

Eξαρχής δεν τα πηγαίνα καλα με τις γλώσσες προγραμματισμού (+οτι δεν μου αρέσουν) οπότε αντιμετωπίζω ενα θεματάκι στην σχολή με 2 εργασιούλες που θα χάρω καποίος να τις λύσει αμα θέλει για να μην κοπώ! Παραθέτω τα θέματα:

 

C:

 

1) Nα γινει προγραμμα το οποιο θα διαβαζει τεσσερεις πραγματικους αριθμους και θα εμφανιζει το μεσο ορο τους.

 

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

 

3) Να γινει προγραμμα το οποιο θα διαβαζει εναν ακεραιο αριθμο n (n>0) και θα εμφανιζει την τιμη του αθροισματος 1+2+3...+n (σημ: ο υπολογισμος του αθροισματος να γινει με χρηση επαναληπτικής δομής)

 

(Όποιος το λυση ας ποσταρει τον κωδικα σε ποστ γιατι θα πρεπει να τον παραδωσω χειρογραφα σε χαρτι A4 >.>)(H εργασια για VB στο επομενο post)

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • Απαντήσεις 31
  • Δημιουργία
  • Τελευταία απάντηση

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

Θα παρακαλουσα το topic να κλεισει...Ευχαριστω τους παντες για την βοηθεια τους ή που εκφρασανε την γνωμη τους... Εγω μια βοηθεια ζητησα επειδη πιστευα οτι μπορω να το κανω αλλα πιο πολυ κριτικη εισεπραξα απο τους ανθωρπους που λενε οτι ξερουν τα 10πλασια απο μενα παρα βοηθεια και ευχομαι να μην βρεθουν στην "Αναγκη" να ρωτησουν κατι σε forums...(Δεν αναφερομαι σε ολους φυσικα)

 

Και παλι ευχαριστω

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Έχω ένα φιλαράκι με την ίδια ειδικότητα από Ι.Ι.Ε.Κ. και είχε ταλαιπωρηθεί με την C αν και δεν νομίζω ότι του είχαν ζητήσει ποτέ κάτι σε VB, βέβαια πάνε πολλά χρόνια από τότε οπότε μπορεί να μην θυμάμαι καλά ή να ήταν διαφορετικό το πρόγραμμα σπουδών της σχολής του.

 

Όπως και να έχει, οι ασκήσεις σου σε C είναι βατές, εκτός από την 3η υπό την προϋπόθεση ότι η έκφραση «[..]με χρήση επαναληπτικής δομής.» ζητά από εσένα να την επιλύσεις με recursive μεθοδολογία, όπου δηλαδή μια ρουτίνα καλεί συνεχώς τον εαυτό της μέχρι να ολοκληρωθεί το πρόβλημα που πρέπει να επιλύσει.

 

Σε αυτή την περίπτωση ακολουθεί κώδικας που επιλύει το πρόβλημα με την χρήση recursion (και ένα τρικ με static).

 

>
/* Sum 1 + 2 + n .. using recursion, directx. */
#include <stdio.h>

int _Sum(int *Number);

int main(void)
{
int nInteger, nSuccess;

/* Prompt user for input. */
printf("Enter integer:");
if(!(nSuccess = scanf("%d", &nInteger)))
	printf("Invalid input!\n"); /* Invalid input. */
else
	if(nSuccess != EOF) /* Case of stdin redirection. */
	{
           printf("\n");
		_Sum(&nInteger);/* Recursive function. */
	}

getchar(); /* Ignore scanf '\n' leftover from buffer. */
printf("\n\n Press Enter to resume.");
getchar();

return 0;
}

int _Sum(int *Number)
{
   /* Trick: "static" to preserve last variable value between successive calls. */
static int Sum = 0, Count = 0;

/* Continue counting? */
if(Count++ < *Number)
{		
	Sum += Count;
	printf("%d ", Count);
	/* End? */
	if(Count == *Number)
		printf(" = %d", Sum);
	else
		printf(" + ");
	/* Recurse .. */
	_Sum(Number);
}

return Sum;
}

 

ΕΙΣΟΔΟΣ:

>
Enter integer:10

 

ΕΞΟΔΟΣ:

>

1  + 2  + 3  + 4  + 5  + 6  + 7  + 8  + 9  + 10  = 55

Press Enter to resume.

 

Το πρόγραμμα έχει δοκιμασθεί σε C++ Builder 2009 και μπορεί να περιέχει σφάλματα ή άλλες αβλεψίες - επίσης προσοχή στον κίνδυνο stack overflow για μεγάλες τιμές.

 

Καλή τύχη!

:-)

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Βρε παιδιά,δεν υπάρχει λόγος και χώρος για αντιπαραθέσεις...σκοπός εδώ της παρέας είναι να βοηθάμε και να μας βοηθάνε.Σε αυτήν την διαδικασία,όποιος θέλει συμμετέχει,δεν είναι υποχρεωμένος κανένας να βοηθήσει κανένα!Αν θέλει το κάνει και αν όχι δεν το κάνει,τόσο απλά.Από εκεί και πέρα, οι κριτικές είναι θα έγραφα περισσότερο για να «τρωγόμαστε» και εκτιμώ ότι δεν είναι εποχές πρόσφορες για κάτι τέτοιο...

Να έχετε ένα όμορφο Σαββατόβραδο όλοι!!!

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

1) Nα γινει προγραμμα το οποιο θα διαβαζει τεσσερεις πραγματικους αριθμους και θα εμφανιζει το μεσο ορο τους.

 

Για να σε βοηθήσω και εγώ με τη σειρά μου σε μία έτσι απλή(πρόχειρη) και φαντάζομαι πλήρως κατανοητή λύση παραθέτω αυτήν:

>
#include <stdio.h>

//Calculating the average of four real numbers in C

main()
{
     float num1,num2,num3,num4,av; // Declaring the five variables
     float sum = 0.0; //Define variable sum and initialize with 0 value
     printf("Give me the first number:\n"); /* prompt asking for the first 
                                             number */
     scanf("%f1", &num1);  // the program reads the given value
     printf("Give me the second number:\n"); /* prompt asking for the second 
                                             number */
     scanf("%f2",&num2); // the program reads the given value
     printf("Give me the third number:\n"); /* prompt asking for the third 
                                             number */
     scanf("%f3",&num3);  // the program reads the given value
     printf("Give me the fourth number:\n"); /* prompt asking for the fourth 
                                             number */
     scanf("%f4",&num4); // the program reads the given value
     av = (num1+num2+num3+num4)/4; /*The average number av of four numbers
                                    above*/ 
     sum = sum + av; // The sum of the given numbers
     printf("The average of the given four numbers is: %f\n", sum); //Prompting the result
     system("pause"); 
}

 

Το πρόγραμμα το έφτιαξα σε DEVC++ και τρέχει μία χαρά!

Αν δεν το έχεις-εννοώ το DEVC++- μπορείς να το κατεβάσεις από εδώ:

http://greek.toggle.com/lv/group/view/kl39865/Dev-C%2B%2B.htm

 

Σου έχω ανεβάσει και το average.zip αρχείο που περιέχει τόσο τον πηγαίο κώδικα

όσο και τον εκτελέσιμο! Πιστεύω να σε βοηθήσει!

average.zip

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δε καταλαβαινω ποιος ο λογος που τους βαζουν τετοιες ασκησεις. Για δικτυα παει οχι προγραμματιστης.. αντε να του μαθουν κανα script. Τι c & vb;

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Μπορεί να μη διάλεξες τον προγραμματισμό, το "τεχνικός δικτύων" το διάλεξες

όμως. Δεν σε έβαλε κάποιος με το ζόρι. Οι ασκήσεις αυτές δεν χρειάζονται ούτε

να είσαι καλός προγραμματιστής ούτε τίποτα. Να μετατρέψεις μια σειρά λογικών

βημάτων στην σύνταξη της γλώσσας χρειάζονται και φυσικά λίγο διάβασμα

για να ξέρεις τις βασικές εντολές της γλώσσας.

 

Αν βαριέσαι να το κάνεις αυτό, τότε και εμείς βαριόμαστε να απαντήσουμε.

Αν βαριέσαι να διαβάσεις 1 ώρα για κάτι που θεωρείται σημαντικό στη καριέρα σου,

τότε για το μελλοντικό καλό όλων, ναι πρέπει να κοπείς.

 

Πάλι μόνο εγώ γίνομαι κακός μου φαίνεται :-) αλλά όταν παίρνουμε τηλέφωνο

σε κάποια γραμμή εξυπηρέτησης και περιγράφουμε το πρόβλημά μας σε έναν

εντελώς άσχετο τεχνικό, ο οποίος έχει ένα χαρτί με πιθανές αιτίες τις οποίες μας

λέει με την σειρά, τότε βρίζουμε. Παρόλα αυτά δίνουμε ασκήσεις που θέλουν 3

λεπτά διάβασμα η κάθε μία.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

3) Να γινει προγραμμα το οποιο θα διαβαζει εναν ακεραιο αριθμο n (n>0) και θα εμφανιζει την τιμη του αθροισματος 1+2+3...+n (σημ: ο υπολογισμος του αθροισματος να γινει με χρηση επαναληπτικής δομής)

 

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

Επί της ουσίας:

>
#include <stdio.h>

main()
{
     int i,n; //Declare the i,n variables
     int sum = 0; //Declare the sum variable and initialize
     printf(" Enter the number:\n "); //prompt the question
     scanf( "%d",&n); //read the value
     if(n <= 0)
         {
           //check the given value
           while((n < 0) || (n = 0))
                {
                  printf(" Oops...you gave me non-negative number,please try again!!!\n ");
                  scanf( "%d",&n); //re-read the new value
                     if(n <= 0) //if not a positive value
                       continue; // go to "while loop" again
                     else
                        break;// go to the first "for loop" for suming
                  }
                for(i = 1; i <= n; i++)
                sum = sum + i; //calculate the sum
           }
       else 
              {
                for(i = 1; i <= n; i++)
                sum = sum + i; //calculate the sum
          } 
           //the result
           printf(" The sum of the given n(1+2+3+...+n) is %d\n ",sum); 
           system("pause");
}

 

Στο συνημμένο (.zip) αρχείο σου έχω βάλει-όπως και στα προηγούμενα-πηγαίο αλλά και εκτελέσιμο κώδικα του εν λόγ προγράμματος!Το πρόγραμμα τρέχει μία χαρά με το DEVC++ όπως και τα προηγούμενα εξάλλου!

Αν παρεπιπτόντως-λόγω κεκτημένης-μου έχει ξεφύγει κάτι,κάποιος φίλος ας με διορθώσει! Νομίζω ότι κάτι τέτοιο θες επι της ουσίας!

Αν έχεις κάποια απορία μην διστάσεις να ρωτήσεις...

sum.zip

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Δε καταλαβαινω ποιος ο λογος που τους βαζουν τετοιες ασκησεις. Για δικτυα παει οχι προγραμματιστης.. αντε να του μαθουν κανα script. Τι c & vb;

 

Ε, καλό είναι να έχουν μία ιδέα απ'όλα.Προσωπικά, δεν μπορώ να το κατακρίνω αυτό.Εξάλλου δεν τους έβαλαν και τίποτα απαιτητικές ασκήσεις.Απλά και εντελώς βασικά πράγματα τους έβαλαν για μία γνώση ευρύτερη ας πούμε...!

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Εγώ προσωπικά πιστεύω ότι κακός βοηθάτε τέτοια άτομα. Γενικός οποιος δη τα κατέχει η βαριετέ καλύτερα να τα παρατήσει και να μην πρήζει με τις ανόητες απορίες τον υπόλοιπο κόσμο. Δεν χρειάζεται να σπουδάσεις αν βαριέσαι το αντικείμενο που μαθαίνεις, δεν έχει νόημα, δεν θα βρείς δουλειά μετά με tpt gt πολύ απλά θα υπάρχουν άτομα που πραγματικά το αγαπάνε και ξέρουν 10πλάσια από σένα... Αυτά από μένα.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Μπορεί να μη διάλεξες τον προγραμματισμό, το "τεχνικός δικτύων" το διάλεξες

όμως. Δεν σε έβαλε κάποιος με το ζόρι. Οι ασκήσεις αυτές δεν χρειάζονται ούτε

να είσαι καλός προγραμματιστής ούτε τίποτα. Να μετατρέψεις μια σειρά λογικών

βημάτων στην σύνταξη της γλώσσας χρειάζονται και φυσικά λίγο διάβασμα

για να ξέρεις τις βασικές εντολές της γλώσσας.

 

Αν βαριέσαι να το κάνεις αυτό, τότε και εμείς βαριόμαστε να απαντήσουμε.

Αν βαριέσαι να διαβάσεις 1 ώρα για κάτι που θεωρείται σημαντικό στη καριέρα σου,

τότε για το μελλοντικό καλό όλων, ναι πρέπει να κοπείς.

 

Πάλι μόνο εγώ γίνομαι κακός μου φαίνεται :-) αλλά όταν παίρνουμε τηλέφωνο

σε κάποια γραμμή εξυπηρέτησης και περιγράφουμε το πρόβλημά μας σε έναν

εντελώς άσχετο τεχνικό, ο οποίος έχει ένα χαρτί με πιθανές αιτίες τις οποίες μας

λέει με την σειρά, τότε βρίζουμε. Παρόλα αυτά δίνουμε ασκήσεις που θέλουν 3

λεπτά διάβασμα η κάθε μία.

 

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

Δεν υποννοώ κάτι για εσένα αγαπητέ,προς Θεού λογοπαίγνιο να γίνεται!

Ας μην ξεχνάμε ότι και εμείς ξεκινήσαμε κάποτε και ζητούσαμε βοήθεια/ες και από άλλα fora και από αυτό! Όποιος θέλει και δεν βαριέται ας βοηθήσει,όποιος δεν θέλει μπορεί απλά να μην το κάνει.Τα υπόλοιπα νομίζω ότι ελαφρώς-βαρέως κακεντρεχή σχόλια και «δηλητηριάζουν» τις σχέσεις μεταξύ μας! Με κάθε καλή προαίρεση το σχόλιό μου πάντα αγαπητέ,καμία διάθεση για αντιπαράθεση και κόντρα βεβαίως!

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Ε, καλό είναι να έχουν μία ιδέα απ'όλα.Προσωπικά, δεν μπορώ να το κατακρίνω αυτό.Εξάλλου δεν τους έβαλαν και τίποτα απαιτητικές ασκήσεις.Απλά και εντελώς βασικά πράγματα τους έβαλαν για μία γνώση ευρύτερη ας πούμε...!

 

Τι λες αγορι μου; Σου διαφευγει οτι δεν ειναι το αντικειμενο του; Εγω Σου λεω θα του παρει καμια βδομαδα για να βρει εναν compiler c και κανα μηνα για να καταλαβει τι εστει προγραμματισμος.

 

ΥΓ: Ελα ενα ποστ και απο τον "βλαδιμιρ", να τον μειωσει τελειως. :eek:

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Έχω ένα φιλαράκι με την ίδια ειδικότητα από Ι.Ι.Ε.Κ. και είχε ταλαιπωρηθεί με την C αν και δεν νομίζω ότι του είχαν ζητήσει ποτέ κάτι σε VB, βέβαια πάνε πολλά χρόνια από τότε οπότε μπορεί να μην θυμάμαι καλά ή να ήταν διαφορετικό το πρόγραμμα σπουδών της σχολής του.

 

Όπως και να έχει, οι ασκήσεις σου σε C είναι βατές, εκτός από την 3η υπό την προϋπόθεση ότι η έκφραση «[..]με χρήση επαναληπτικής δομής.» ζητά από εσένα να την επιλύσεις με recursive μεθοδολογία, όπου δηλαδή μια ρουτίνα καλεί συνεχώς τον εαυτό της μέχρι να ολοκληρωθεί το πρόβλημα που πρέπει να επιλύσει.

 

Σε αυτή την περίπτωση ακολουθεί κώδικας που επιλύει το πρόβλημα με την χρήση recursion (και ένα τρικ με static).

 

>
/* Sum 1 + 2 + n .. using recursion, directx. */
#include <stdio.h>

int _Sum(int *Number);

int main(void)
{
int nInteger, nSuccess;

/* Prompt user for input. */
printf("Enter integer:");
if(!(nSuccess = scanf("%d", &nInteger)))
	printf("Invalid input!\n"); /* Invalid input. */
else
	if(nSuccess != EOF) /* Case of stdin redirection. */
	{
           printf("\n");
		_Sum(&nInteger);/* Recursive function. */
	}

getchar(); /* Ignore scanf '\n' leftover from buffer. */
printf("\n\n Press Enter to resume.");
getchar();

return 0;
}

int _Sum(int *Number)
{
   /* Trick: "static" to preserve last variable value between successive calls. */
static int Sum = 0, Count = 0;

/* Continue counting? */
if(Count++ < *Number)
{		
	Sum += Count;
	printf("%d ", Count);
	/* End? */
	if(Count == *Number)
		printf(" = %d", Sum);
	else
		printf(" + ");
	/* Recurse .. */
	_Sum(Number);
}

return Sum;
}

 

ΕΙΣΟΔΟΣ:

>
Enter integer:10

 

ΕΞΟΔΟΣ:

>

1  + 2  + 3  + 4  + 5  + 6  + 7  + 8  + 9  + 10  = 55

Press Enter to resume.

 

Το πρόγραμμα έχει δοκιμασθεί σε C++ Builder 2009 και μπορεί να περιέχει σφάλματα ή άλλες αβλεψίες - επίσης προσοχή στον κίνδυνο stack overflow για μεγάλες τιμές.

 

Καλή τύχη!

:-)

 

Το κάψες... :lol:

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

 

Συνεχίζω και με το δεύτερο πρόβλημά σου:

Παραθέτω τον κώδικα που απαιτείται γι'αυτό:

>
#include <stdio.h>
int imax();

main()
{
    int n1,n2; //Define the two inputs values
    printf("Give me the first integer number: \n"); //prompt the fisrt
    scanf( "%d",&n1); //The program reads the first value
    printf("Give me the second integer number: \n"); //Prompt the second
    scanf( "%d",&n2); //The program reads the second value
    printf("The maximun of the two given numbers is: %d\n",imax(n1,n2)); //calling the imax() function
    system("pause");
} 
    //imax function declaration with two integer num for arguments
    int imax( int n , int m )
      {
         return (n > m) ? n : m; //If n>m return n else return m
        }

 

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

Για ακόμη μεγαλύτερη βοήθεια σου παραθέτω και maxvalue.zip αρχείο με τον εκτελέσιμο αλλά

και πηγαίο κώδικα!!!

Αν έχεις κάποια απορία μπορείς να ρωτήσεις...αν και νομίζω ότι είναι εξαιρετικά απλοί κώδικες!

maxvalue.zip

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Τι λες αγορι μου; Σου διαφευγει οτι δεν ειναι το αντικειμενο του; Εγω Σου λεω θα του παρει καμια βδομαδα για να βρει εναν compiler c και κανα μηνα για να καταλαβει τι εστει προγραμματισμος.

 

ΥΓ: Ελα ενα ποστ και απο τον "βλαδιμιρ", να τον μειωσει τελειως. :eek:

 

Ε εντάξει αγαπητέ,είσαι λίγο υπερβολικός.Μία εβδομάδα για να βρει compiler???Δεν νομίζω, που αναφέρει μία γνωστή διαφήμιση!!!Θα του δώσουμε τους ανθρώπου τις πληροφορίες που χρειάζεται για να το υλοποιήσει άμεσα!Τώρα τι εστί προγραμματισμός είναι μία άλλη υπόθεση...θέλει και παραπάνω από ένα μήνα αλλά δεν έχει λόγο να μπει σε τέτοια νερά ο φίλος μας εκτιμώ...

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.