פעולות נפוצות על מערכים
חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 68 מתוך 75.
הנה כמה פעולות נפוצות על מערכים:
- מצא את הסכום של כל האיברים במערך:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
sum += number;
}
println!("Sum: {}", sum);- מצא את הממוצע של איברים במערך:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
sum += number;
}
let average = sum as f64 / numbers.len() as f64;
println!("Average: {}", average);- מצאו את האיבר המרבי במערך:
let numbers = [1, 5, 2, 9, 3];
let mut max = numbers[0];
for &number in &numbers[1..] {
if number > max {
max = number;
}
}
println!("Max: {}", max);- מצא את האיבר המינימלי במערך:
let numbers = [1, 5, 2, 9, 3];
let mut min = numbers[0];
for &number in &numbers[1..] {
if number < min {
min = number;
}
}
println!("Min: {}", min);אתגר
קלצרו פונקציה בשם calculate_stats שמקבלת מערך של מספרים שלמים באורך 8 כקלט ומבצעת את הפעולות הבאות:
- מחשבת את סכום כל האיברים במערך.
- מחשבת את הממוצע של האיברים במערך.
- מוצאת את האיבר הגדול ביותר במערך.
- מוצאת את האיבר הקטן ביותר במערך.
הפונקציה צריכה להחזיר מערך של ערכי f64 המכיל את הסכום, הממוצע, הערך המרבי והערך המזערי, בסדר הזה.
נסו בעצמכם
use std::io;
use std::convert::TryInto;
fn calculate_stats(arr: [i32; 8]) -> [f64; 4] {
// כתבו את הקוד שלכם כאן
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let numbers: [i32; 8] = input_str_arr.split(',').map(|s| s.parse::<i32>().unwrap()).collect::<Vec<i32>>().try_into().unwrap();
let stats = calculate_stats(numbers);
println!("Sum: {}", stats[0]);
println!("Average: {}", stats[1]);
println!("Maximum: {}", stats[2]);
println!("Minimum: {}", stats[3]);
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר Rust אונליין