C# tömbrendezési feladat segítség (? )
Nem nagyon értek az egész programozáshoz, így az egész kellene... Eddig jutottam el:
"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace valuta
{
class Program
{
static void Main(string[] args)
{
string [] valutan = new string[] {"USD", "GBP","AUD", "CZK", "DKK", "EUR", "HRK", "JPY", "CAD","PLN","NOK","RUB","RON","CHF","SEK"};
int [] arfolyam= new int[] {277,430,203,11,42,316,42,2,216,75,34,4,73,290,34}
}
}
}
"
C#-tól független megoldás:
1. definiálsz két változót:
Mindkettő egész típusú (int). Nevek: minIdx, maxIdx. Kezdőértékek: 0
2. Bejárod az árfolyam tömböt, DE nem az első elemtől, hanem a 2.-tól (1-es indexű). Legyen i a változó index.
3. A ciklus magban:
HA arfolyam[i] > arfolyam[maxIdx], AKKOR maxIdx := i
HA arfolyam[i] < arfolyam[minIdx], AKKOR minIdx := i
(:= az értékadás jele)
4. A ciklus után minIdx a leggyengébb árfolyam INDEXÉT, maxIdx pedig a legerősebb árfolyam INDEXÉT fogja tartalmazni.
5. Írjuk ki a megfelelő valuták neveit:
valutan[minIdx] -> leggyengébb
valutan[maxIdx] -> legerősebb
Gyanítom nem ezt adták fel első feladatnak, csak a többit is lusta voltál megcsinálni.
Két lehetőség:
1. Elkezded legelőről és megcsinálsz minden ez előtti feladatot is szépen sorban.
2. Jövőre újra próbálkozol.
Végig kell menni for ciklussal a tömbön és egy max. valamint min. kereséssel meg kell keresni.
string[] valutan = new string[] { "USD", "GBP", "AUD", "CZK", "DKK", "EUR", "HRK", "JPY", "CAD", "PLN", "NOK", "RUB", "RON", "CHF", "SEK" };
int[] arfolyam = new int[] { 277, 430, 203, 11, 42, 316, 42, 2, 216, 75, 34, 4, 73, 290, 34 };
int legnagyobb = arfolyam[0];
int legnagyobbindex = 0;
int legkisebb = arfolyam[0];
int legkisebbindex = 0;
for (int i = 0; i < arfolyam.Length; i++)
{
if (arfolyam[i] > legnagyobb )
{
legnagyobb = arfolyam[i];
legnagyobbindex = i;
}
if (arfolyam[i] < legkisebb)
{
legkisebb = arfolyam[i];
legnagyobbindex = i;
}
}
Ezután csak ki kell iratnod a legkisebbindex-ben lesz eltárolva a tömb legkisebb elemének indexe, ugyanez legnagyobbindexnél is!
Elég az indexet tárolni:
string[] valutan = new string[] { "USD", "GBP", "AUD", "CZK", "DKK", "EUR", "HRK", "JPY", "CAD", "PLN", "NOK", "RUB", "RON", "CHF", "SEK" };
int[] arfolyam = new int[] { 277, 430, 203, 11, 42, 316, 42, 2, 216, 75, 34, 4, 73, 290, 34 };
int legnagyobbindex = 0;
int legkisebbindex = 0;
for (int i = 0; i < arfolyam.Length; i++)
{
if (arfolyam[i] > arfolyam[legnagyobbindex]) legnagyobbindex = i;
if (arfolyam[i] < arfolyam[legkisebbindex]) legkisebbindex = i;
}
Console.WriteLine("Legkisebb érték: {0}", arfolyam[legkisebbindex]);
Console.WriteLine("Legnagyobb érték: {0}", arfolyam[legnagyobbindex]);
Console.ReadLine();
Így pofásabb:
string[] valutan = new string[] { "USD", "GBP", "AUD", "CZK", "DKK", "EUR", "HRK", "JPY", "CAD", "PLN", "NOK", "RUB", "RON", "CHF", "SEK" };
int[] arfolyam = new int[] { 277, 430, 203, 11, 42, 316, 42, 2, 216, 75, 34, 4, 73, 290, 34 };
int legnagyobbindex = 0;
int legkisebbindex = 0;
for (int i = 0; i < arfolyam.Length; i++)
{
if (arfolyam[i] > arfolyam[legnagyobbindex]) legnagyobbindex = i;
if (arfolyam[i] < arfolyam[legkisebbindex]) legkisebbindex = i;
}
Console.WriteLine("Legkisebb értékű valuta: {0} {1} Ft.", valutan[legkisebbindex], arfolyam[legkisebbindex]);
Console.WriteLine("Legnagyobb értékű valuta: {0} {1} Ft", valutan[legnagyobbindex], arfolyam[legnagyobbindex]);
Console.ReadLine();
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!