Merhaba C'de tek boyutlu bir diziyi kullanırken fonksiyon(dizi) yazıyoruz ve fonksiyon tanımlarken de int fonksiyon(int dizi[]) şeklinde bir tanımlama yapıyorum. Ama iki boyutlu dizilerde sanırım daha farklı bir şey var anlayamadım.
3x3 boyutunda bir dizideki en küçük sayıyı yazdırmak istiyorum. Ama "type of normal parameter 1 is incomplete." hatası alıyorum. Sebebi nedir ? dizi[][GRADES] yazınca düzeliyor
#include <stdio.h> #include <stdlib.h> #define STUDENTS 3 #define GRADES 3 void min(int dizi[][]) /* dizi[][GRADES] yazınca düzeliyor. */ { int min=100; int i,j; for(i=0;i<=2;i++) { for(j=0;j<=2;j++) { if(dizi[j]<min) { min=dizi[j]; } } } printf("%d",min); } int main() { int dizi[STUDENTS][GRADES]={{65,72,85},{58,42,96},{48,56,65}}; min(dizi); return 0; }
Dizi [j] gibi bi ifadede yani matrislerde j kısmını tanımlamak zorunlu yoksa hata alırsın daha geçen hocamız dedi i yi yazmasanda oluyor fakat j kısmı yazılmak zorunda
Edit:matris tanımladım ama postta sadece j gözüküyor sanırım
< Bu mesaj bu kişi tarafından değiştirildi Dreazz -- 12 Aralık 2016; 10:36:54 >
Yani 2 boyutlu dizilerde sutunlari tanimlak zorundayim degil mi ? Bir de tek boyutlu dizide buna gerek yok diye biliyorum. Yani int fonksiyon(int dizi[]) yeterli sanirim?
3x3 boyutunda bir dizideki en küçük sayıyı yazdırmak istiyorum. Ama "type of normal parameter 1 is incomplete." hatası alıyorum. Sebebi nedir ? dizi[][GRADES] yazınca düzeliyor
#include <stdio.h>
#include <stdlib.h>
#define STUDENTS 3
#define GRADES 3
void min(int dizi[][])
/* dizi[][GRADES] yazınca düzeliyor. */
{
int min=100;
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
if(dizi[j]<min)
{
min=dizi[j];
}
}
}
printf("%d",min);
}
int main()
{
int dizi[STUDENTS][GRADES]={{65,72,85},{58,42,96},{48,56,65}};
min(dizi);
return 0;
}