Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-04-2004, 18:35   #1
leomeya
Senior Member
 
Iscritto dal: Sep 2001
Messaggi: 1302
programmazione in c aiuto urgente per esame!

programma che alloca dinamicamente 2 matrici e ne fa la matrice somma delle 2!
se inserisco un numero di righe maggiore del numero di colonne non funziona mentre al contrario funziona perche'?
#include <stdio.h>

void Inserisci (int *r,int *c)
{
printf ("Inserisci il numero delle righe della matrice:\n");
scanf ("%d",r);
printf ("Inserisci il numero delle colonne della matrice:\n");
scanf ("%d",c);
}


void main()
{
int r1;
int c1;
int r2;
int c2;
int i,j;
int** mat1;
int** mat2;
int** mat3;
do
{
printf ("Prima matrice!\n");
Inserisci (&r1,&c1);
printf ("Seconda matrice!\n");
Inserisci (&r2,&c2);
}
while (r1!=r2 && c1!=c2);
mat1=(int**)malloc(r1*sizeof(int*));
for (i=0;i<c1;i++)
mat1[i]=(int*)malloc(c1*sizeof(int));
mat2=(int**)malloc(r2*sizeof (int*));
for (i=0;i<c2;i++)
mat2[i]=(int*)malloc(c2*sizeof(int));
printf ("Inserisci gli elementi della prima matrice:\n");
for (i=0;i<r1;i++)
for (j=0;j<c1;j++)
scanf ("%d",&mat1[i][j]);
printf ("La prima matrice e':\n\a");
for (i=0;i<r1;i++)
{
for (j=0;j<c1;j++)
printf ("%d ",mat1[i][j]);
printf ("\n");
}
printf ("Inserisci gli elementi della seconda matrice:\n");
for (i=0;i<r2;i++)
for (j=0;j<c2;j++)
scanf ("%d",&mat2[i][j]);
printf ("La seconda matrice e':\n\a");
for (i=0;i<r2;i++)
{
for (j=0;j<c2;j++)
printf ("%d ",mat2[i][j]);
printf ("\n");
}
mat3=(int**)malloc(r1*sizeof (int*));
for (i=0;i<c1;i++)
mat3[i]=(int*)malloc(c1*sizeof (int));
for (i=0;i<r1;i++)
for (j=0;j<c1;j++)
mat3[i][j]=mat1[i][j]+mat2[i][j];
printf ("La matrice somma delle matrici inserite e':\n\a");
for (i=0;i<r1;i++)
{
for (j=0;j<c1;j++)
printf ("%d ",mat3[i][j]);
printf ("\n");
}
getch();
}
leomeya è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2004, 20:14   #2
leomeya
Senior Member
 
Iscritto dal: Sep 2001
Messaggi: 1302
strano vero?
leomeya è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2004, 01:26   #3
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Ecco una versione funzionante:

Codice PHP:
#include <stdio.h>
#include <stdlib.h> 

void Inserisci (int *r,int *c

    
printf ("Inserisci il numero delle righe della matrice:\n"); 
    
scanf ("%d",r); 
    
printf ("Inserisci il numero delle colonne della matrice:\n"); 
    
scanf ("%d",c); 


int main() 
    { 
    
int r1
    
int c1
    
int r2
    
int c2
    
int i,j
    
int** mat1
    
int** mat2
    
int** mat3
    do 
    { 
        
printf ("Prima matrice!\n"); 
        
Inserisci (&r1,&c1); 
        
printf ("Seconda matrice!\n"); 
        
Inserisci (&r2,&c2); 
    } 
    while (
r1!=r2 && c1!=c2);

    
mat1 = (int **) malloc(r1 sizeof(int *));
    
mat2 = (int **) malloc(r2 sizeof(int *));
    
mat3 = (int **) malloc(r1 sizeof(int *));

    for (
i=0;i<r1;i++){
        
mat1[i] = (int *) malloc(c1 sizeof(int));
        
mat2[i] = (int *) malloc(c2 sizeof(int));
        
mat3[i] = (int *) malloc(c1 sizeof(int));
    }

    
printf ("Inserisci gli elementi della prima matrice:\n"); 
    for (
i=0;i<r1;i++) 
        for (
j=0;j<c1;j++) 
            
scanf ("%d",&mat1[i][j]); 
    
printf ("La prima matrice e':\n\a"); 
    for (
i=0;i<r1;i++) 
    { 
        for (
j=0;j<c1;j++) 
            
printf ("%d ",mat1[i][j]); 
        
printf ("\n"); 
    } 
    
printf ("Inserisci gli elementi della seconda matrice:\n"); 
    for (
i=0;i<r2;i++) 
        for (
j=0;j<c2;j++) 
            
scanf ("%d",&mat2[i][j]); 
    
printf ("La seconda matrice e':\n\a"); 
    for (
i=0;i<r2;i++) 
    { 
        for (
j=0;j<c2;j++) 
            
printf ("%d ",mat2[i][j]); 
            
printf ("\n"); 
    } 

    for (
i=0;i<r1;i++)
        for (
j=0;j<c1;j++)
            
mat3[i][j] = mat1[i][j] + mat2[i][j];

    
printf ("La matrice somma delle matrici inserite e':\n\a"); 
    for (
i=0;i<r1;i++) 
    { 
        for (
j=0;j<c1;j++) 
            
printf ("%d ",mat3[i][j]); 
            
printf ("\n"); 
    } 
    
getchar();
    return 
0;

__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals

Ultima modifica di anx721 : 03-04-2004 alle 01:32.
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2004, 08:03   #4
leomeya
Senior Member
 
Iscritto dal: Sep 2001
Messaggi: 1302
c'e' ancora un errore e non riesco a capire dove.
c'e' il controlo nel while che controlla che il numero di righe e colonne sia ugale
se inserisco per la prima 2 e 3 e per la seconda 2 e 3 ok
se inserisco per la prima 3 e 5 e per la seconda 6 e 3 ok mi chiede di riinserirle perche' sono diversi
il problema è che se inserisco per la prima 3 e 5 e per la seconda 3 e 4 va avanti perche' se una delle due è uguale va avanti io ho messo un and non un or!


Ultima modifica di leomeya : 03-04-2004 alle 08:32.
leomeya è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2004, 11:37   #5
leomeya
Senior Member
 
Iscritto dal: Sep 2001
Messaggi: 1302
ho risolto il problema bastava mettere un or al posto dell'and all'interno del while!

void Inserisci (int *r,int *c)
{
printf ("Inserisci il numero delle righe della matrice:\n");
scanf ("%d",r);
printf ("Inserisci il numero delle colonne della matrice:\n");
scanf ("%d",c);
}

void main()
{
int r1;
int c1;
int r2;
int c2;
int i,j;
int** mat1;
int** mat2;
int** mat3;
do
{
printf ("Prima matrice!\n");
Inserisci (&r1,&c1);
printf ("Seconda matrice!\n");
Inserisci (&r2,&c2);
}
while ((r1!=r2) || (c1!=c2));

mat1 = (int **) malloc(r1 * sizeof(int *));
mat2 = (int **) malloc(r2 * sizeof(int *));
mat3 = (int **) malloc(r1 * sizeof(int *));

for (i=0;i<r1;i++){
mat1[i] = (int *) malloc(c1 * sizeof(int));
mat2[i] = (int *) malloc(c2 * sizeof(int));
mat3[i] = (int *) malloc(c1 * sizeof(int));
}

printf ("Inserisci gli elementi della prima matrice:\n");
for (i=0;i<r1;i++)
for (j=0;j<c1;j++)
scanf ("%d",&mat1[i][j]);
printf ("La prima matrice e':\n\a");
for (i=0;i<r1;i++)
{
for (j=0;j<c1;j++)
printf ("%d\t",mat1[i][j]);
printf ("\n");
}
printf ("Inserisci gli elementi della seconda matrice:\n");
for (i=0;i<r2;i++)
for (j=0;j<c2;j++)
scanf ("%d",&mat2[i][j]);
printf ("La seconda matrice e':\n\a");
for (i=0;i<r2;i++)
{
for (j=0;j<c2;j++)
printf ("%d\t",mat2[i][j]);
printf ("\n");
}

for (i=0;i<r1;i++)
for (j=0;j<c1;j++)
mat3[i][j] = mat1[i][j] + mat2[i][j];

printf ("La matrice somma delle matrici inserite e':\n\a");
for (i=0;i<r1;i++)
{
for (j=0;j<c1;j++)
printf ("%d\t",mat3[i][j]);
printf ("\n");
}
getch();
}
leomeya è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2004, 11:52   #6
leomeya
Senior Member
 
Iscritto dal: Sep 2001
Messaggi: 1302
sul dev che opzione devo usare per migliorere la lettura del testo del programma?
perche' sia ben incolonnato il testo del programma e non il testo dell'eseguibile
leomeya è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
La GTX 2080 Ti mai arrivata sul mercato,...
Hoolow Knight: Silksong, il gioco che a ...
Duolingo crolla in Borsa: la minaccia ar...
Battlefield 6: i giocatori console potra...
Citroen Racing, la marca ritorna alle co...
Windows 10 ESU: come partecipare al prog...
ASUS Vivobook 16X a meno di 470€ su Amaz...
Con Agent Payments Protocol di Google gl...
Windows 10 muore, gli attivisti insorgon...
NVIDIA sarà il primo cliente di T...
Stellantis cancella il pick-up elettrico...
Microsoft termina il supporto per Office...
VaultGemma di Google è il primo L...
Uno studio svela come usiamo ChatGPT, il...
Bucano con una trivella la galleria ferr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v