Arama butonu
Bu konudaki kullanıcılar: 3 misafir, 2 mobil kullanıcı
4171
Cevap
168379
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (104. sayfa)
A
12 yıl
Onbaşı

Arkadaşlar matris çarpma işlemimde sorun var... cevabı yazarken tek sütunu yazıyor ve diğerlerini 0 olarak alıyor...Sorun nedir acaba?
#include<stdio.h> 
#include<conio.h>

int main()
{
printf("\tMATRIS CARPMA PROGRAMI'NA HOSGELDINIZ\n");
printf("\t************AHMET KUSLULAR************\n\n");

int matris1[50][50], matris2[50][50];//MATRİS BOYUTUNUN MAKSİMUM DEĞERİDİR

//int toplam[50][50];
int carpim[50][50];

int i,j,k,toplam,sat,sut,sut2;


printf("1.MATRISIN SATIR SAYISI..: ");
scanf("%d",&sat);
printf("1.MATRISIN SUTUN SAYISI..: ");
scanf("%d",&sut);
printf("\n2.MATRISIN SATIR SAYISI..: %d",sut);
printf("\n2.MATRISIN SUTUN SAYISI..: ");
scanf("%d",&sut2);

printf("\n----------------------------------\n1. MATRISIN DEGERLERINI GIRINIZ..:(%d x %d)\n----------------------------------\n",sat,sut);
for(i=0;i<sat;i++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SATIR SAYISI BELİRLENİR
{
for(j=0;j<sut;j++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SÜTUN SAYISI BELİRLENİR
{
printf("[%d].SATIR [%d].SUTUN.: ",i+1,j+1);//BURADA SATIR:SUTUN DEGERLERININ GIRILMESİ ISTENİYOR
scanf("%d",&matris1[i][j]);
}

}


printf("\n----------------------------------\n2. MATRISIN DEGERLERINI GIRINIZ..:(%d x %d)\n----------------------------------\n",sut,sut2);

for(i=0;i<sut;i++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SATIR SAYISINIZ BELİRLENİR
{
for(j=0;j<sut2;j++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SÜTUN SAYISINIZ BELİRLENİR
{
printf("[%d].SATIR [%d].SUTUN.: ",i+1,j+1);//BURADA SATIR:SUTUN DEGERLERININ GIRILMESİ ISTENİYOR
scanf("%d",&matris2[i][j]);
}

}


for(i=0;i<sat;i++)
{
for(j=0;j<sut;j++)
{ toplam=0;
for(k=0;k<50;k++)
toplam += matris1[i][k]*matris2[k][j];

carpim[i][j] = toplam;
}
}
printf("\n****************************\n MATRIS CARPIMININ SONUCU..:(%d x %d)\n****************************\n",sat,sut2);
for(i=0;i<sat;i++)
{
for(j=0;j<sut2;j++)
{ printf("%d ",carpim[i][j]);}
printf("\n\n");}





getch();
}


Bu mesaja 2 cevap geldi.
S
12 yıl
Teğmen

quote:

Orijinalden alıntı: ahmet_k06

Arkadaşlar matris çarpma işlemimde sorun var... cevabı yazarken tek sütunu yazıyor ve diğerlerini 0 olarak alıyor...Sorun nedir acaba?
#include<stdio.h> 
#include<conio.h>

int main()
{
printf("\tMATRIS CARPMA PROGRAMI'NA HOSGELDINIZ\n");
printf("\t************AHMET KUSLULAR************\n\n");

int matris1[50][50], matris2[50][50];//MATRİS BOYUTUNUN MAKSİMUM DEĞERİDİR

//int toplam[50][50];
int carpim[50][50];

int i,j,k,toplam,sat,sut,sut2;


printf("1.MATRISIN SATIR SAYISI..: ");
scanf("%d",&sat);
printf("1.MATRISIN SUTUN SAYISI..: ");
scanf("%d",&sut);
printf("\n2.MATRISIN SATIR SAYISI..: %d",sut);
printf("\n2.MATRISIN SUTUN SAYISI..: ");
scanf("%d",&sut2);

printf("\n----------------------------------\n1. MATRISIN DEGERLERINI GIRINIZ..:(%d x %d)\n----------------------------------\n",sat,sut);
for(i=0;i<sat;i++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SATIR SAYISI BELİRLENİR
{
for(j=0;j<sut;j++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SÜTUN SAYISI BELİRLENİR
{
printf("[%d].SATIR [%d].SUTUN.: ",i+1,j+1);//BURADA SATIR:SUTUN DEGERLERININ GIRILMESİ ISTENİYOR
scanf("%d",&matris1[i][j]);
}

}


printf("\n----------------------------------\n2. MATRISIN DEGERLERINI GIRINIZ..:(%d x %d)\n----------------------------------\n",sut,sut2);

for(i=0;i<sut;i++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SATIR SAYISINIZ BELİRLENİR
{
for(j=0;j<sut2;j++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SÜTUN SAYISINIZ BELİRLENİR
{
printf("[%d].SATIR [%d].SUTUN.: ",i+1,j+1);//BURADA SATIR:SUTUN DEGERLERININ GIRILMESİ ISTENİYOR
scanf("%d",&matris2[i][j]);
}

}


for(i=0;i<sat;i++)
{
for(j=0;j<sut;j++)
{ toplam=0;
for(k=0;k<50;k++)
toplam += matris1[i][k]*matris2[k][j];

carpim[i][j] = toplam;
}
}
printf("\n****************************\n MATRIS CARPIMININ SONUCU..:(%d x %d)\n****************************\n",sat,sut2);
for(i=0;i<sat;i++)
{
for(j=0;j<sut2;j++)
{ printf("%d ",carpim[i][j]);}
printf("\n\n");}





getch();
}


1 - Matrisleri ekrana yazdır. Bütün değerler doğru olarak geliyor mu bak.
2- O "k" değişkeni tam olarak neyi ifade ediyor. Neden 50 ye kadar artıyor?
3- Yazdığın kod tam bi çöp. Hiç programlama ile ilgili bi kitap okumadın mı?





< Bu mesaj bu kişi tarafından değiştirildi selamolsunbolubeyine -- 11 Ekim 2013; 17:38:26 >
Bu mesaja 1 cevap geldi.
A
12 yıl
Onbaşı

quote:

Orijinalden alıntı: selamolsunbolubeyine

quote:

Orijinalden alıntı: ahmet_k06

Arkadaşlar matris çarpma işlemimde sorun var... cevabı yazarken tek sütunu yazıyor ve diğerlerini 0 olarak alıyor...Sorun nedir acaba?
#include<stdio.h> 
#include<conio.h>

int main()
{
printf("\tMATRIS CARPMA PROGRAMI'NA HOSGELDINIZ\n");
printf("\t************AHMET KUSLULAR************\n\n");

int matris1[50][50], matris2[50][50];//MATRİS BOYUTUNUN MAKSİMUM DEĞERİDİR

//int toplam[50][50];
int carpim[50][50];

int i,j,k,toplam,sat,sut,sut2;


printf("1.MATRISIN SATIR SAYISI..: ");
scanf("%d",&sat);
printf("1.MATRISIN SUTUN SAYISI..: ");
scanf("%d",&sut);
printf("\n2.MATRISIN SATIR SAYISI..: %d",sut);
printf("\n2.MATRISIN SUTUN SAYISI..: ");
scanf("%d",&sut2);

printf("\n----------------------------------\n1. MATRISIN DEGERLERINI GIRINIZ..:(%d x %d)\n----------------------------------\n",sat,sut);
for(i=0;i<sat;i++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SATIR SAYISI BELİRLENİR
{
for(j=0;j<sut;j++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SÜTUN SAYISI BELİRLENİR
{
printf("[%d].SATIR [%d].SUTUN.: ",i+1,j+1);//BURADA SATIR:SUTUN DEGERLERININ GIRILMESİ ISTENİYOR
scanf("%d",&matris1[i][j]);
}

}


printf("\n----------------------------------\n2. MATRISIN DEGERLERINI GIRINIZ..:(%d x %d)\n----------------------------------\n",sut,sut2);

for(i=0;i<sut;i++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SATIR SAYISINIZ BELİRLENİR
{
for(j=0;j<sut2;j++)//GIRDIGIMIZ DEĞİŞKENLERE GÖRE SÜTUN SAYISINIZ BELİRLENİR
{
printf("[%d].SATIR [%d].SUTUN.: ",i+1,j+1);//BURADA SATIR:SUTUN DEGERLERININ GIRILMESİ ISTENİYOR
scanf("%d",&matris2[i][j]);
}

}


for(i=0;i<sat;i++)
{
for(j=0;j<sut;j++)
{ toplam=0;
for(k=0;k<50;k++)
toplam += matris1[i][k]*matris2[k][j];

carpim[i][j] = toplam;
}
}
printf("\n****************************\n MATRIS CARPIMININ SONUCU..:(%d x %d)\n****************************\n",sat,sut2);
for(i=0;i<sat;i++)
{
for(j=0;j<sut2;j++)
{ printf("%d ",carpim[i][j]);}
printf("\n\n");}





getch();
}


1 - Matrisleri ekrana yazdır. Bütün değerler doğru olarak geliyor mu bak.
2- O "k" değişkeni tam olarak neyi ifade ediyor. Neden 50 ye kadar artıyor?
3- Yazdığın kod tam bi çöp. Hiç programlama ile ilgili bi kitap okumadın mı?

1. Cevabını buldum..düzelttim..
2. i,j,k değişkenleri matris içinde sayının tanımlandığı yeri göstermek için kullanılıyor
3. yazdığım kod çok karmaşık olabilir.. bu bir ödev... bizde kodun düzgünlüğü kadar ekran çıktısının yeri de önemli...
4. Ben burada bir soru sordum..siz eleştirmeyi tercih ettiniz... ilk önce kendinizi eleştirin..


Bu mesaja 1 cevap geldi.
M
12 yıl
Yüzbaşı

Eleştiri dilinin sert olması hoş değil, lakin bu durum eleştirinin yanlış olduğunu belirtmez. Sonuç her zaman mühimdir elbette, fakat ileride geniş çaplı programlar yazdığınızda karmaşıklıktan kastın ne olduğunu, neden uyarılmaya çalışıldığınızı daha iyi fark edeceksiniz. Zamanla üstesinden gelinmeyecek bir şey değil, biraz daha gayret ve özen gerekli.

İyi çalışmalar


Bu mesaja 1 cevap geldi.
M
12 yıl
Yüzbaşı

Merhaba arkadaşlar ben c++ da çok yeniyim. Basit bir hesap makinesi yazdım sizden 1-4 ekadar rakam seçmenizi isteyip yapılacak işlemi belirliyor. Ama 5 i girdiğim zaman yanlış giriş yapması için uyarı veren komutu girdim ona rağmen öyle birşey yazmadan program sonlanıyor.Buyrun kod :
#include <iostream> 

using namespace std;

int main()
{
int x,y,t;
double a,b;
cout << "Hesap Makinesi\n" << "Bir işlem seçin\n" << "1.Toplama\n" << "2.Çıkarma\n" << "3.Çarpma\n" << "4.Bölme\n" << "Seçim :";
cin >> t;
switch (t)
if(4<t)
cout << "Yanlış giriş yaptınız.";
else{
case 1:
cout << "İlk sayıyı girin:";
cin >> x;
cout << "İkinci sayıyı girin:";
cin >> y;
cout << "Toplam = " << x+y <<"\n";
break;
case 2:
cout << "İlk sayıyı girin:";
cin >> x;
cout << "İkinci sayıyı girin:";
cin >> y;
cout << "Fark = " << x-y <<"\n";
break;
case 3:
cout << "İlk sayıyı girin:";
cin >> x;
cout << "İkinci sayıyı girin:";
cin >> y;
cout << "Çarpım = " << x*y <<"\n";
break;
case 4:
cout << "İlk sayıyı girin:";
cin >> a;
cout << "İkinci sayıyı girin:";
cin >> b;
cout << "Bölüm = " << a/b <<"\n";
break;
}
}



-
12 yıl
Yüzbaşı

@msnnsm
switch içinde if kullanamazsın. Bunun için default kullanman gerek.
 
switch(t)
{
case 1:
// ...
break;
case 2:
// ...
break;
case 3:
// ...
break;
case 4:
// ...
break;
default:
// 1-2-3-4 dışında birşey girilirse buraya düşer.
// cout << "Yanlış giriş\n";
break;
}


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @msnnsm
M
12 yıl
Yüzbaşı

Çok teşekkür ederim hocam aynen dediğiniz gibi oldu. Benimki amatörlük işte yeni başladım bilmiyordum defaultu




Bu mesajda bahsedilenler: @-Source-
L
12 yıl
Yüzbaşı

macbookta c/c++ geliştirmek için ne kurmalıyım xcode bu işi görür mü ya da ne yapmalıyım bilgisayar mühendisliği 1. sınıftayım pek bilgim yok yardım ederseniz sevinirim :)


Bu mesaja 1 cevap geldi.
L
12 yıl
Yarbay

quote:

Orijinalden alıntı: logges

macbookta c/c++ geliştirmek için ne kurmalıyım xcode bu işi görür mü ya da ne yapmalıyım bilgisayar mühendisliği 1. sınıftayım pek bilgim yok yardım ederseniz sevinirim :)

xcode'a bi eklenti tarzı bişey yüklemek lazım. onu yükleyince yeterli bence. command line tools olması lazım yanlış hatırlamıyorsam


Bu mesaja 1 cevap geldi.
İ
12 yıl
Yüzbaşı

arkadailar dev c++ ta oluşturduğum basit bir hesaplama işlemi(toplama işlemi)
çalıştırınca girdiğim sayı 11 haneli yada daha fazlası olunca kendini kapatıyor sebebi nedir acaba yardımcı olursanız sevinirim.
işte kodları

#include <iostream>
using std::cout;
using std::cin;
int main() {
int x, y;
cout << "birinci sayi = ";
cin >> x;
cout << "ikinci sayi = ";
cin >> y;
int toplam = x + y;
cout << toplam;
cin >> x;
}


Bu mesaja 1 cevap geldi.
Ö
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: İyi bir Nick bulamadim

arkadailar dev c++ ta oluşturduğum basit bir hesaplama işlemi(toplama işlemi)
çalıştırınca girdiğim sayı 11 haneli yada daha fazlası olunca kendini kapatıyor sebebi nedir acaba yardımcı olursanız sevinirim.
işte kodları

#include <iostream>
using std::cout;
using std::cin;
int main() {
int x, y;
cout << "birinci sayi = ";
cin >> x;
cout << "ikinci sayi = ";
cin >> y;
int toplam = x + y;
cout << toplam;
cin >> x;
}



Merhaba,

Hocam kodların çalışmama nedeni kullandığınız veri tipinden kaynaklanıyor. int veri tipi -2147483648 ve 2147483647 arasında değer alır. Doğal olarak sizin girdiğiniz 12 veya daha yüksek haneli sayıyı algılayamıyor. Veritipleri ve boyutları hakkında daha fazla bilgi almak için şu(http://www.cplusplus.com/doc/tutorial/variables/) adrese bakabilirsiniz. Gelelim sorununuzun çözümüne; int yerine long long kullanırsanız sorununuz çözülecektir fakat yinede veri tiplerine biraz daha çalışmanız gerektiğini düşünüyorum.

Kolay gelsin...



W
12 yıl
Onbaşı

Matris toplama programı yaptım ama yanlış çalışıyor bazı sorunlar var.
mesela 6 ya 6 bir matris toplayamıyorum,
4-4 matrisde 3.sutun 2. satırda hep 2 değeri yazıyor ben değişik bir değer girmeme rağmen,
kod:
 
#include <stdio.h>
#include <conio.h>
main ()
{
int a,b,i,j,dizi[a][b],dizi1[a][b],sonuc[a][b];
printf ("Matris Toplama Programi\n");
printf ("Matrislerinizin Sutun Sayisini Girin\n");
scanf ("%d",&b);
printf ("Matrislerinizin Satir Sayisini Girin\n");
scanf ("%d",&a);
for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
printf ("Birinci Dizinizin elemanlarini girin.\n");
scanf ("%d",&dizi[i][j]);
}
}

for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
printf ("%4d",dizi[i][j]);
}
printf("\n");
}


for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
printf ("Ikinci Dizinizin elemanlarini girin.\n");
scanf ("%d",&dizi1[i][j]);
}
}

for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
printf ("%4d",dizi1[i][j]);
}
printf("\n");
}



for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
dizi[i][j] = dizi[i][j] + dizi1[i][j];
}
}

printf ("\nSonucunuz ;\n");


for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
{
printf ("%4d",dizi[i][j]);
}
printf("\n");
}

getch();
}




yardımlarınızı bekliyorum


Bu mesaja 1 cevap geldi.
İ
12 yıl
Yüzbaşı

çok teşekkürler hocam sağolun.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @özgür beyin
Ö
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: İyi bir Nick bulamadim

çok teşekkürler hocam sağolun.

Rica ederim hocam, ne demek. Yardımcı olabilmiş isem ne mutlu bana. Tekrardan kolay gelsin.



B
12 yıl
Teğmen

arkadaşlar böyle bi hata alıyorum 2012 ve 2013 te nasıl düzeltebilirim
< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
C
12 yıl
Yarbay

Random olarak sayı atayınca toplamada sıkıntı olmuyor. Bir de tek tek değer almak amele işi, random atmaya bak bence.


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @wolfbeeci
C
12 yıl
Yarbay

Projeyi yanlış seçtin büyük ihtimal. Console app seçtiğine emin misin ?

File -> New -> Project -> Win32 Console Application -> name your app -> click next -> click application settings.


Edit : Birde source.cpp değil de source.c yapmayı dene.





< Bu mesaj bu kişi tarafından değiştirildi cllyldrm -- 14 Ekim 2013; 12:42:34 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @baranbula
W
12 yıl
Onbaşı

quote:

Orijinalden alıntı: cllyldrm

Random olarak sayı atayınca toplamada sıkıntı olmuyor. Bir de tek tek değer almak amele işi, random atmaya bak bence.

Hoca oyle istiyor :) kullanici kendi girmesi lazim



< Bu ileti mobil sürüm kullanılarak atıldı >

B
12 yıl
Teğmen

quote:

Orijinalden alıntı: cllyldrm

Projeyi yanlış seçtin büyük ihtimal. Console app seçtiğine emin misin ?

File -> New -> Project -> Win32 Console Application -> name your app -> click next -> click application settings.


Edit : Birde source.cpp değil de source.c yapmayı dene.

Win32 Project başlatıyordum teşekkürler



C
12 yıl
Yarbay

Hesaplamada bir sıkıntı yok. Sen yanlış giriyordun herhalde. 4-4 ve 6-6 için denendi.

#include <stdio.h> 
#include <conio.h>

int main ()
{
int a, b, i, j;
int dizi[100][100], dizi1[100][100], sonuc[100][100];
printf("Matris Toplama Programi\n\n");
printf("Matrislerinizin Sutun Sayisini Girin...");
scanf_s("%d", &b);
printf("\n");
printf("Matrislerinizin Satir Sayisini Girin...");
scanf_s("%d", &a);
printf("\n");
printf("Birinci Dizinizin elemanlarini girin.\n");
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
scanf_s("%d", &dizi[i][j]);
}
}
printf ("\nIkinci Dizinizin elemanlarini girin.\n");
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
scanf_s ("%d", &dizi1[i][j]);
}
}
printf("\n1. Dizi... \n\n");
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
printf ("%4d", dizi[i][j]);
}
printf("\n");
}
printf("\n2. Dizi... \n\n");
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
printf ("%4d", dizi1[i][j]);
}
printf("\n");
}
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
dizi[i][j] = dizi[i][j] + dizi1[i][j];
}
}
printf ("\nSonucunuz...\n\n");
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
printf ("%4d", dizi[i][j]);
}
printf("\n");
}
_getch();
return 0;
}


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @wolfbeeci