Benvenuto su Inforge
Rimuovi la pubblicità e partecipa alla più grande comunità italiana sul mondo digitale presente sul web sin dal 2007.
Iscriviti

Discussione Ufficiale Programmiamo con Inforge | Esercitazione 01 in C | Livello base

Una Discussione Ufficiale punta a raccogliere tutte le informazioni su un argomento o un fatto di attualità, con costanti aggiornamenti da parte del creatore e dei partecipanti.

ddos attack

Utente Iron
18 Marzo 2021
44
12
18
Ultima modifica:
anche io partecipo
Messaggio unito automaticamente:

io sempre in C# li faccio so che non dovrei farli in questo linguaggio ma ci provo:
esercizio 1:
C#:
static float MediaFloat(params float[] array)
        {
            float temp = 0;
            int count = 0;
            foreach (float x in array)
            {
                temp += x;
                count++;
            }
            return temp / (float)count;
           
        }

esercizio 2:
C#:
static void PrintArray(float[] array)
        {
            foreach (float x in array) {
                Console.WriteLine(x);
            }
        }

esercizio 3:
C#:
static public void InputArray(List<float> array, int n)
        {
            for (int i=0;i<n;i++)
            {
                Console.Write($"Input {i}: ");
                float temp = (float)Console.Read();
                array.Add(temp);
            }
        }

esercizio 4:
non credo si possa fare in C#

esercizio 5:
C#:
static public void MinArray(float[] array)
        {
            float temp = 0;
            foreach (float x in array)
            {
                if (x>temp)
                {
                    temp = x;
                }
            }
            foreach (float x in array)
            {
                if (x<temp)
                {
                    temp = x;
                }
            }
            Console.WriteLine(temp);
        }

esercizio 6:
non lo riesco a fare

esercizio 7:
C#:
static public void ArrayWrite(float[] array, string filename)
        {
            StreamWriter sw = new StreamWriter(filename);
            foreach (float x in array)
            {
                sw.WriteLine(Convert.ToString(x));
            }

            sw.Close();
        }

esercizio 8:
anche questo non credo si possa fare in C#
 
  • Mi piace
Reactions: Valley
Supporta Inforge con un acquisto su NordVPN
Supporta Inforge con una donazione

DispatchCode

Moderatore
24 Maggio 2016
387
250
193
esercizio 4:
non credo si possa fare in C#

In C# puoi fare così:

Codice:
float[] array_alloc(int n){
    return new float[n];
}

esercizio 6:
non lo riesco a fare

Hai studiato algoritmi di sorting a scuola? Non ci sono vincoli, puoi utilizzarne anche di semplici come bubble sort o selection sort.
Se sei rimasto bloccato, posta il codice interessato, così vediamo di aiutarti. ;)

esercizio 8:
anche questo non credo si possa fare in C#

Si puoi farlo: nel Main dovrai di fatto chiedere l'input da console con Console.ReadLine() e successivamente utilizzare TryParse.
Come detto sopra, se hai difficoltà pubblica pure un codice parziale.
 

ddos attack

Utente Iron
18 Marzo 2021
44
12
18
Hai studiato algoritmi di sorting a scuola?
si ma non ero molto attento in classe... comunque sono riuscito a farlo:

C#:
using System;
using System.Collections.Generic;

namespace MyCompiler {
    class Program {
        static void array(float[] arrays) {
            float[] vettore=new float[arrays.Length];
            List<int> ban=new List<int>();
            int count=0;
            foreach (float x in arrays) {
                vettore[count]=arrays[count];
                count++;
            }
            float temp=0.0f;
            for (int q=0;q<arrays.Length;q++) {
            for (int i=0;i<arrays.Length;i++) {
                if (ban.Contains(i)) {
                    continue;
                }
                if (vettore[i]>temp) {
                    temp=vettore[i];
                }
            }
            for (int i=0;i<arrays.Length;i++) {
                if (temp==vettore[i]) {
                    ban.Add(i);
                }
            }
            }
            int count2=0;
            foreach (int x in ban) {
                vettore[count2]=x;
                count2++;
            }
        }
        public static void Main(string[] args) {
            float[] f={3.3f,5.6f,9.9f};
            array(f);
            foreach (float t in f) {
                Console.WriteLine(t);
            }
        }
    }
}
 
Supporta Inforge con un acquisto su NordVPN
Supporta Inforge con una donazione

DispatchCode

Moderatore
24 Maggio 2016
387
250
193
@ddos attack non mi è chiaro che vuoi fare. Sarebbe l'ordinamento? Visto così è errato; sarebbe sufficiente una cosa come questa:

Codice:
        static float[] array(float[] values) {
            
            for(int i=0; i<values.Length; i++) {
                for(int j=i+1; j<values.Length; j++) {
                    if(values[j] < values[i]) {
                        float tmp = values[i];
                        values[i] = values[j];
                        values[j] = tmp;
                    }
                }
            }
  
            return values;
        }

questo è l'ordinamento più semplice che puoi implementare (è anche il meno efficiente).

scrivo per provare

ottimo, attendiamo la soluzione allora. ;)
 
Supporta Inforge con un acquisto su NordVPN
Supporta Inforge con una donazione