RISOLTO problemi con gli array - linguaggio c

Stato
Discussione chiusa ad ulteriori risposte.

Vito-

Utente Attivo
184
14
Ciao a tutti, ho dei problemi con la programmazione in C. Sono alle prime armi. Sapreste dirmi dove é l'errore??
L'esercizio chiedeva di creare un array con 10 elementi: stampare le posizioni degli zeri, stampare i numeri positivi e quelli negativi. Questo é quello che ho fatto io...

C:
#include <stdio.h>
#define N 10

int main()

{
    int Array[N]={2,-5,7,0,-19,54,17,-13,10,0};
    int positivi[N],negativi[N],posizioniZeri[N];
    int j=0,h=0,n=0;

    printf("La tabella contiene i seguenti valori:\n ");

    for(int i=0;i<N;i++)
    {

        printf("%d\t", Array[i]);

        if (Array[i]!=0)

            continue;

        else
        {
            posizioniZeri[j]=i;
            j++;
        }

    }

    printf("\n\nGli zeri si trovano negli indici");

    for(int k=0;k<j;k++)
        printf("    %d\t", posizioniZeri[k]);

    for(int g=0;g<N;g++)

        {
            if (Array[g]>0)
            {

                positivi[h]=Array[g];
                h++;

            }
            else
                if(Array[g]<0)
                    {
                        negativi[n]=Array[g];
                        n++;
                    }

        }

    printf("\n\nI numeri positivi sono:\n");
    for(int m=0;m<h;m++)
        printf("%d\t", positivi[m]);

    printf("\n\nI numeri negativi sono:\n");
    for(int b=0;b<n;b++)
        printf("%d\t", negativi[b]);

        return(0);

}
 
Ultima modifica:

BrutPitt

Utente Attivo
1,166
1,262
Per cortesia, inserisci il codice nel tag "code"/"codice" (lo trovi nel menu con i 3 puntini verticali)
Come hai fatto tu, a parte l'illegibilita' per chi deve aiutarti, vengono intercettati anche i codici HTML... per esempio la variabile "i" tra parentesi quadre [ ] (indice dell'array) abilita la scrittura in corsivo (e contestualmene il "formattatore" la elimina dal tuo codice) ... quindi quel codice e' anche "invalido"
 
  • Mi piace
Reazioni: DispatchCode

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,210
1,846
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Concordo con BrutPitt.
Ho provato a sforzarmi e leggere il tuo codice... e presumo che il problema sia qui:
C:
if(Array[g]<0)
 {
 negativi[n]=Array[g];
 h++;
 }

stai incrementando l'indice sbagliato.
Non si capisce nemmeno il senso di quell'if iniziale, penso derivi dai problemi di formattazione.

Ad ogni modo la prossima volta, oltre ad utilizzare il tag CODE, riporta l'errore o il problema che incontri, altrimenti risulta difficile esserti d'aiuto.
 
  • Mi piace
Reazioni: BrutPitt

Vito-

Utente Attivo
184
14
Concordo con BrutPitt.
Ho provato a sforzarmi e leggere il tuo codice... e presumo che il problema sia qui:
C:
if(Array[g]<0)
 {
 negativi[n]=Array[g];
 h++;
 }

stai incrementando l'indice sbagliato.
Non si capisce nemmeno il senso di quell'if iniziale, penso derivi dai problemi di formattazione.

Ad ogni modo la prossima volta, oltre ad utilizzare il tag CODE, riporta l'errore o il problema che incontri, altrimenti risulta difficile esserti d'aiuto.
Per cortesia, inserisci il codice nel tag "code"/"codice" (lo trovi nel menu con i 3 puntini verticali)
Come hai fatto tu, a parte l'illegibilita' per chi deve aiutarti, vengono intercettati anche i codici HTML... per esempio la variabile "i" tra parentesi quadre [ ] (indice dell'array) abilita la scrittura in corsivo (e contestualmene il "formattatore" la elimina dal tuo codice) ... quindi quel codice e' anche "invalido"
non capisco come mettere questo code...
Post unito automaticamente:

Concordo con BrutPitt.
Ho provato a sforzarmi e leggere il tuo codice... e presumo che il problema sia qui:
C:
if(Array[g]<0)
 {
 negativi[n]=Array[g];
 h++;
 }

stai incrementando l'indice sbagliato.
Non si capisce nemmeno il senso di quell'if iniziale, penso derivi dai problemi di formattazione.

Ad ogni modo la prossima volta, oltre ad utilizzare il tag CODE, riporta l'errore o il problema che incontri, altrimenti risulta difficile esserti d'aiuto.
Grazie mille, l'errore era quello. Per quanto riguarda questo Code che dovrei mettere non so come fare
Post unito automaticamente:

@DispatchCode @BrutPitt ok sono riuscito
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili