Algoritma ve programlamaya giriş ödevi

a.k.a joe

Hectopat
Katılım
26 Ocak 2015
Mesajlar
102
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Selamlar, üniversitede okumaktayım. Malum final haftası ödev haftası oldu ve algoritma ve programlamaya giriş dersinden final ödevim var. Hocayı da suçlamak istemiyorum, karşılıklı olarak anlaşamadık diyeyim. Ödevim var yardımcı olursanız çok sevinirim. Görsel olarak yükledim soruları yardımlarınızı bekliyorum şimdiden teşekkürler. (Görselde ki yazım hataları hocaya ait :))

sefa.PNG
 
// olan satırlar yorum. Başta sabit olarak tanımlayabilirsin.
Dizideki sayıları kendim rastgele seçip koydum. Hoca nasıl olacağını belirtmemiş.

İkincideki sayıları tam sayı kabul ettim. Negatif sayıları da 2 basamaklı olarak almadım.
Zaten genel mantığını anlamak için atıyorum. Düzenlemeleri sen yaparsın.

C#'a muhtemelen C++ daha yakın ama böyle bir ödevin C'de verileceği aklıma geldiği için öyle başladım.
%d integer, %lf ise muhtemelen long float ama double için de kullanılabiliyor.
Genel Syntax'ı anlamışsındır zaten. Döngüler aynı şekilde yapılıyor olması lazım C#'taki ile.

Bence ilk ikisi daha kolay. O yüzden onları seçtim. Süre daha varmış. Yapamadıysan ya da C# bilen birisi yardımcı olmadıysa akşam/gece uyandığımda tekrar bakarım.
Bir de unutmazsam 😄

Kod:
#include <stdio.h>

//~ #define ARR_SIZE 10

int main(){
    //~ int arr[ARR_SIZE] = {3, 37, 43, 91, 5, 89, 692, 1336, 8, 593};
    int arr[10] = {3, 37, 43, 91, 5, 89, 692, 1336, 8, 593};
    int sum = 0;
 
    //~ for (int i = 0; i< ARR_SIZE; ++i){
        //~ if (1 == arr[i]%2){
            //~ sum += arr[i];
        //~ }
    //~ }
 
    for (int i = 0; i< sizeof(arr)/sizeof(int); ++i){
        if (1 == arr[i]%2){
            sum += arr[i];
        }
    }
 
    //~ double result = (double)sum / arr[4];
    double result = (double)sum / arr[3];

    printf("Tek olan sayilarin toplaminin 4. elemana bolumu: %lf\n", result);
 
    return 0;
}
Kod:
#include <stdio.h>

int main(){
    int arr[10];
    int largest = 0;
 
    printf("Lutfen 10 adet sayi giriniz: ");
 
    for (int i = 0; i< sizeof(arr)/sizeof(int); ++i){
        scanf("%d",&arr[i]);
    }
 
    for (int i = 0; i< sizeof(arr)/sizeof(int); ++i){
        if (10 <= arr[i] && 100 >= arr[i] && largest < arr[i]){
            largest = arr[i];
        }
    }

    printf("Iki basamaklı en buyuk sayi: %d\n", largest);
 
    return 0;
}
 

Yeni konular

Geri
Yukarı