Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Gestione di un array in C

    Salve a tutti... sono da poco entrato nel mondo di C... oggi ho fatto un compito che credo sicuramente di aver sbagliato...
    la traccia chiedeva di effettuare una ricerca di 2° livello in un array consentendo all'utente di stabilire la lunghezza dell'array e come risultato della ricerca stampare a video tutti i valori pari trovati nell'intervallo delle posizioni diellindice del vettore.... io ho fatto questo:

    #include <stdio.h>
    int i,n,rest,vett[i];
    main(){
    printf("inserire un numero");
    scanf("%d",&n);
    while(i>=n){
    rest = i%2;
    if (rest = 0)
    printf("\n valore numero pari rilevato = %d",n);
    i = i++;
    }
    }
    a parte il fatto che il compilatore mi dice:
    no type specified. Defaulting to int
    e poi ho il serio dubbio che funzioni.... chi mi può dare un aiutino??

    Grazie a tutti...

  2. #2

    Re: Gestione di un array in C

    Scusa ma non ho capito nè quel che devi fare, nè quel che hai fatto

    Tanto per cominciare posso farti notare che:

    1) Le variabili, se il tuo programma consiste nella sola main(), non devi dichiarle globali come invece hai fatto (le hai dichiarate prima della main)

    2) Nel tuo codice hai:
    codice:
     if (rest = 0)
         printf...
    Hai confuso l'assegnamento con il confronto: la sintassi giusta è if (rest == 0)...

    3) Sempre nel tuo codice:
    codice:
     while(i>=n){
    Ma a n non assegni nessun valore, capisci che è dura un ciclo così

    4) Dichiari un array vett che però non usi

    Hai fatto un po' un casino
    Se rispieghi meglio il concetto posso provare ad aiutarti.

  3. #3
    Ciao maiosyet_2....effettivamente mi sa che hai ragione..
    dunque, io non dovevo far altro che da un array, la cui lunghezza è definita dall'utente, devo pescarmi tutti i valori pari dell'indice... ovvero, devo farmi stampare a video il valore dell'indice solo quando è pari

    Grazie per l'aiuto!

  4. #4
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Non ho ben capito se devi stampare i valori pari o quelli in posizione pari (indice pari)

    void main(){

    int i, nr, *vettore;

    printf("Quanti elementi? ");
    scanf("%d", &nr);

    if(!(vettore = (int *)malloc(sizeof(int) * nr)))
    abort();

    srand(time(NULL));

    for(i = 0; i < nr; i++)
    vettore[i] = rand()%100 + 1;

    for(i = 0; i < nr; i++)
    if(i % 2 == 0)
    printf("%d ", vettore[i]);
    }


    Se vanno stampati quelli il cui valore è pari basta cambiare l'ultimo if in if(vettore[i] % 2 == 0).

    In due minuti lo scriverei cosi, ecco
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.