freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.
 
Τώρα είναι 09 Φεβ 2010 17:22
All times are UTC + 2

Γλώσσα C πρόβλημα με την for

 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Bookmarks Tags: γλώσσαπρόβλημα
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
Αποστολέας Μήνυμα
diamadiss


Μέλος από: 16 Μαη 2008
Μηνύματα: 28

View users profile
ΜήνυμαΣτις: 16 Μαη 2008 21:02    Θέμα: Γλώσσα C πρόβλημα με την for
Περιγραφή θέματος: πρόβλημα με τoν βρόγχο επανάληψης for
Απάντηση με παράθεση  Mark this post and the followings unread

Θα ήθελα να φτιάξω ενα πρόγραμμα σε C που να που υπολογίζει το γινόμενο 1*(-2)*3*(-4)* μέχρι τον 10ο όρο και να το εκτυπώνει, με την χρήση της for. Το κάνω ετσι αλλα δεν λειτουργεί.


#include <stdio.h>
main ()
{
int sum,k,i,;
sum=0;
for(i=1;i<10;i-2)
sum=sum*k;
printf("%d\n",sum);
}

Last edited by diamadiss on 17 Μαη 2008 13:05, edited 2 times in total
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile
blog 
ΜήνυμαΣτις: 16 Μαη 2008 22:11    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Το A[10] και το k τι κάνουν;
Τι κάνουν το sum και το i;

_________________

How
diamadiss


Μέλος από: 16 Μαη 2008
Μηνύματα: 28

View users profile
ΜήνυμαΣτις: 17 Μαη 2008 13:04    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Sygnomi alla ekana lathos kai egrapsa kati allo pou ithela na kano. Oso gia to sum to xrisimopoio gia na vgalo to athroisma tou ginomenou oste na to ektipose meta me printf. Thanks!
Alice_Cooper


Μέλος από: 10 Μαη 2007
Scripts: 2
Μηνύματα: 256+

Περιοχή: Ioannina
View users profile Visit posters website
ΜήνυμαΣτις: 19 Μαη 2008 18:48    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

logika afto sou kanei
κώδικας:
#include <stdio.h>
main ()
{
int sum,i,n;
sum=1;
for ( n=1, i=-2 ; n<i+20 ; n=n+2, i=i-2 )
{
sum=sum*n*i;
if (n!=1) printf ("*");
printf("%d*(%d)",n,i);
}
printf("=%d\n",sum);
}

_________________
diamadiss


Μέλος από: 16 Μαη 2008
Μηνύματα: 28

View users profile
ΜήνυμαΣτις: 19 Μαη 2008 21:20    Θέμα: Thanksssss!!!!!!! Απάντηση με παράθεση  Mark this post and the followings unread

Nai mou kanei auto se euxaristo para poly gia tin voithia.
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile
blog 
ΜήνυμαΣτις: 20 Μαη 2008 15:16    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Alice_Cooper++
Πολύ πρωτότυπη υλοποίηση! Δεν την έχω ξαναπετύχει πουθενά!
Respect!

Μια πιο τετριμένη λύση, θα μπορούσε να δωθεί ως εξής: Το (2 σε 1) loop θα μπορούσε να σπάσει σε 2 ξεχωριστά loops όπου το ένα θα υπολογίζει το γινόμενο των θετικών, και το άλλο το γινόμενο των αρνητικών, όπως είχε ξεκινήσει να το φτιάχνει και ο diamadiss δηλαδή. [edit](πριν αλλάξει τον κώδικα του)[/edit]

κώδικας:
int f1(const int N = 10)
{
   int i, product = 1;

   for ( i=1; i<=N; i += 2 )
      product = product * i;

   for ( i=-2; i>=-N; i -= 2 )
      product = product * i;

   return product;
}

Αν το παιδέψει κάποιος ακόμα περισσότερο, αυτά θα μπορούσαν να μπούν σε 2 ξεχωριστά threads που το καθένα θα υπολογίζει τα γινόμενα των θετικών/αρνητικών, και το main thread, θα κάνει μόνο τον τελικό πολλαπλασιασμό των επιμέρους γινομένων.

ή

για όσους έχουν πιο λιτά γούστα, θα μπορούσε να υλοποιηθεί με ένα loop που απλώς αλλάζει το πρόσημο του κάθε όρου του γινομένου. [edit](περίπου όπως έχει τον κώδικα του ο diamadiss μετά την αλλαγή)[/edit]

κώδικας:
int f2(const int N = 10)
{
   int i;
   int sign = -1;
   int product = 1;

   for ( i=1; i<=N; i++ )
   {
      sign = - sign;  // +1, -1, +1, -1, ...
      product = product * (sign * i);
   }

   return product;
}

_________________

How
diamadiss


Μέλος από: 16 Μαη 2008
Μηνύματα: 28

View users profile
ΜήνυμαΣτις: 27 Νοε 2008 13:10    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Ευχαριστώ!
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++



Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Βοήθεια σε άσκηση σε γλώσσα προγραμματισμού C |Part -1-| 6 tommai 07 Οκτ 2008 11:52
soteres2002 Εμφάνιση τελευταίου μηνύματος
Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι .... 5 vspartan 01 Ιουν 2008 12:02
vspartan Εμφάνιση τελευταίου μηνύματος
Βοήθεια σε άσκηση σε γλώσσα προγραμματισμού C |Part -0-| 4 tommai 13 Μαη 2008 08:09
dva_dev Εμφάνιση τελευταίου μηνύματος
Βοήθεια σε άσκηση σε γλώσσα προγραμματισμού C |Part -2-| 7 tommai 11 Μαη 2008 15:02
tommai Εμφάνιση τελευταίου μηνύματος
Ανάπτυξη εφαρμογής σε γλώσσα C++ 16 ilario 19 Απρ 2008 23:15
soteres2002 Εμφάνιση τελευταίου μηνύματος
 

  διαφήμιση  

     Powered by p h p B B © 2001,2005 p h p B B Group
Email This Page to Someone!  Facebook  twitter
add to Favorites



Copyright © 1999-2009 Freestuff.gr All Rights Reserved  

Version Aegean, designed by N. Tsaganos