Δισδιαστατοσ πινακασ

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
AndReass
Δημοσιεύσεις: 2
Εγγραφή: 02 Μάιος 2012 12:29

Δισδιαστατοσ πινακασ

Δημοσίευση από AndReass » 02 Μάιος 2012 12:36

Το πρόγραμμα θα ζητάει από το χρήστη τη διάσταση ενός διδιάστατου τετραγωνικού πίνακα, η
οποία θα πρέπει να είναι μονοψήφιος ακέραιος (αλλιώς να την ξαναζητά). Επίσης θα του ζητά
τα στοιχεία άνω της κύριας διαγωνίου ενώ τα κάτω της θα είναι μηδενικά. Τα στοιχεία της
διαγωνίου θα έχουν τιμή ίση με τον αριθμό γραμμής, ξεκινώντας από το 1 (που είναι ίδιος με τον
αριθμό στήλης).
Στη συνέχεια το πρόγραμμα:
Να εκτυπώνει τον πίνακα κατά γραμμές..?

AndReass
Δημοσιεύσεις: 2
Εγγραφή: 02 Μάιος 2012 12:29

Δισδιαστατοσ πινακασ

Δημοσίευση από AndReass » 02 Μάιος 2012 13:00

εςσ εδς το ελισα και μου βγηκε
τωρα το κομματι που θελω τη βοηθεια ειναι αυτο : Να υπολογίζει το γινόμενο των μη μηδενικών στοιχείων του πίνακα.

#include <iostream>

using namespace std;
main()
{
int N,i,j,A[9][9];
do{
cout<<"dwse diastasi tetragonikou pinaka (2 eos 9):";
cin>>N;
} while (N>9||N<2);
for (i=0; i<N; i++)
for (j=0; j<N; j++) {
if(i==j) A[j]=i+1;
else if (j>i){
cout<< "dwse to A ("<<i+1<<","<<j+1<<"):";
cin>>A[j];
}
else A[j]=0;
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
cout << A[j]<< "\t";
}
cout << endl;
}

system ("pause");
return 0;
}

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Δισδιαστατοσ πινακασ

Δημοσίευση από mariosal » 02 Μάιος 2012 16:20

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <stdlib.h>

int main&#40;&#41; &#123;
    char i, j;
    int product, n, **matrix;

    // Getting the size
    do &#123;
        printf&#40; "Type the size of the square matrix &#91; 1, 9 &#93;&#58; " &#41;;
        scanf&#40; "%d", &n &#41;;
    &#125; while &#40; n < 1 || n > 9 &#41;;

    // Dynamic Allocation
    matrix = &#40; int** &#41;malloc&#40; n * sizeof&#40; int* &#41; &#41;;
    for &#40; i = 0; i < n; ++i &#41; &#123;
        matrix&#91; i &#93; = &#40; int* &#41;calloc&#40; n, sizeof&#40; int &#41; &#41;; // Zero all elements
    &#125;

    for &#40; i = 0; i < n; ++i &#41; &#123;
        matrix&#91; i &#93;&#91; i &#93; = i + 1; // Diagonal
        for &#40; j = i + 1; j < n; ++j &#41; &#123;
            printf&#40; "Type the value of matrix&#91; %d &#93;&#91; %d &#93;&#58; ", i, j &#41;;
            scanf&#40; "%d", &matrix&#91; i &#93;&#91; j &#93; &#41;;
        &#125;
    &#125;

    // Printing
    printf&#40; "\n" &#41;;
    for &#40; i = 0; i < n; ++i &#41; &#123;
        for &#40; j = 0; j < n; ++j &#41; &#123;
            printf&#40; "%d\t", matrix&#91; i &#93;&#91; j &#93; &#41;;
        &#125;
        printf&#40; "\n" &#41;;
    &#125;

    // Calculating the product of the non-0 elements
    product = 1;
    for &#40; i = 0; i < n; ++i &#41; &#123;
        for &#40; j = i; j < n; ++j &#41; &#123; // No need to check under the diagonal
            if &#40; matrix&#91; i &#93;&#91; j &#93; &#41; &#123;
                product *= matrix&#91; i &#93;&#91; j &#93;;
            &#125;
        &#125;
    &#125;
    printf&#40; "The product of the non-0 elements is %d\n", product &#41;;

    return 0;
&#125;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες