[Çözüldü]C language - soru ( yarınki sınava yönelik :) )

Başlatan platon, 29 Mayıs 2011 - 22:21:20

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

platon

Arkadaşlar yarın ki C finaline yönelik sorular çözüyordum da bir soruda takıldım yardım lazım.

Write a C function that accepts a ( n x 5 ) 2 - dimensional floating-point array and its row size n as argument and returns the average of the values in that array.


Packard Bell
EasyNote - TJ65
Ubuntu 10.10 Maveric - 64bit
Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz - 4 GB
nVIDIA - GeForce GT 240M 1024MB - 128-bit

Erdem

#1
(satırsayısıx5) boyutunda iki boyutlu bir matris ve matrisin satır sayısını parametre olarak alan bir C işlevi yazın. Matrisin türü float (kayar noktalı olsun)  Daha sonra yazdığınız bu işlev matristeki değerlerin ortalamasını döndürsün diyor.

Bu iki boyutlu matris konusu forumlarda daha taze konuşuldu  ;)
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

platon

Ben türkçesini istememiştim ki. Matris oluşturmayı da sormamıştım. Bu sorunun çözümünü istemiştim. Çeviri için teşekkürler yine de.


Packard Bell
EasyNote - TJ65
Ubuntu 10.10 Maveric - 64bit
Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz - 4 GB
nVIDIA - GeForce GT 240M 1024MB - 128-bit

Jey@Nfer

doğru mu anladım bilmiyorum ama ilk anda anladığım şekliyle alalacele örnek bi kod yazdım belki işini görür...


#include "stdio.h"

main()
{
int satirsayisi,i,j;

printf("satir sayisini giriniz..\n");
scanf("%d",&satirsayisi);

float matris[satirsayisi*5][satirsayisi*5];

/* burda matrisin içini doldurmak için bir atama yapılıyor */

for(i=0;i<satirsayisi*5;i++)
for(j=0;j<satirsayisi*5;j++) matris[i][j]=i+j;

ortalamahesapla(satirsayisi,matris);
}

ortalamahesapla(int satirsayisi,float matris[][satirsayisi*5])
{
int toplam=0,i,j;

float ortalama;

for(i=0;i<satirsayisi*5;i++)
for(j=0;j<satirsayisi*5;j++) toplam=toplam+matris[i][j];

ortalama=toplam/((satirsayisi*5)*(satirsayisi*5));

printf("butun elemanlarin aritmetik ortalamasi : %f \n",ortalama);
}

Hırs , azim , tevekkül ...

www.mehmetvahit.net

platon

#4
Fonksiyon oluşturdun mu burda? Yoksa ben mi göremiyorum. Şeyi belirtmeyi unutmuşum özür dilerim. Satır sayısını komut satırından gireceğiz. ( "./a.out 5 " şeklinde )


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 30 Mayıs 2011 - 15:01:41

Alıntı yapılan: Erdem - 30 Mayıs 2011 - 02:50:17
(satırsayısıx5) boyutunda iki boyutlu bir matris ve matrisin satır sayısını parametre olarak alan bir C işlevi yazın. Matrisin türü float (kayar noktalı olsun)  Daha sonra yazdığınız bu işlev matristeki değerlerin ortalamasını döndürsün diyor.

Bu iki boyutlu matris konusu forumlarda daha taze konuşuldu  ;)

Ayrıca konumuz matris değil fonksiyon ;)


Packard Bell
EasyNote - TJ65
Ubuntu 10.10 Maveric - 64bit
Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz - 4 GB
nVIDIA - GeForce GT 240M 1024MB - 128-bit

Jey@Nfer

o zaman ufak bi düzeltmeyle halledebiliriz..



#include "stdio.h"

main(argsay,argdeg)
int argsay;
char *argdeg[];
{
    if(argsay!=2) {printf("elemanlari eksik veya fazla girdiniz...\n"); return 0; }

int satirsayisi,i,j;

satirsayisi=atoi(argdeg[1]);


float matris[satirsayisi*5][satirsayisi*5];

/* burda matrisin içini doldurmak için bir atama yapılıyor */

for(i=0;i<satirsayisi*5;i++)
for(j=0;j<satirsayisi*5;j++) matris[i][j]=i+j;

ortalamahesapla(satirsayisi,matris);
}

ortalamahesapla(int satirsayisi,float matris[][satirsayisi*5])
{
int toplam=0,i,j;

float ortalama;

for(i=0;i<satirsayisi*5;i++)
for(j=0;j<satirsayisi*5;j++) toplam=toplam+matris[i][j];

ortalama=toplam/((satirsayisi*5)*(satirsayisi*5));

printf("butun elemanlarin aritmetik ortalamasi : %f \n",ortalama);
}



bu işini görür sanırım...


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 30 Mayıs 2011 - 15:11:58


fonksiyon oluşturdum evet  , ortalamahesapla isimli bir fonksiyon var orda...
Hırs , azim , tevekkül ...

www.mehmetvahit.net

platon

Aynısı çıktı sınavda lanet olsun inputu komut satırından girilmeden yazdım programı umarım yarım puan dahi olsa alabilirim :) Teşekkürler bu arada.


Packard Bell
EasyNote - TJ65
Ubuntu 10.10 Maveric - 64bit
Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz - 4 GB
nVIDIA - GeForce GT 240M 1024MB - 128-bit

Jey@Nfer

Hırs , azim , tevekkül ...

www.mehmetvahit.net

platon

Teşekkürler :) Yarın da Logic Design var. ( Dua kabul edilir. )


Packard Bell
EasyNote - TJ65
Ubuntu 10.10 Maveric - 64bit
Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz - 4 GB
nVIDIA - GeForce GT 240M 1024MB - 128-bit