Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 1 mobil kullanıcı
12
Cevap
10085
Tıklama
0
Öne Çıkarma
C , C++ ta Çarpım Matrisi oluşturma yardım ?
B
13 yıl
Yarbay
Konu Sahibi

iyi günler öncelikle Saü bilg. müh 1. sınıf öğrencisiyim .Algo ve programlama final sorumuz 15 e 15 boyutunda çarpım matrisi oluşturmamızdı .

Bu nasıl yapılabilir ufak 3-3 matris şeklinde anlatabilirseniz sevinirim .


örnek

1 2 3
2 4 6
3 6 9

şeklinde olacak yani ilk satırla ilk sütun 1 den 15 e kadar gitmeli aradaki elemanlar sırasıyla satır ve sütun sayılarıyla çarpılmalı . Fikir kafamda var ama koda dökemiyorum for döngüsüyle birlikte .

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



U
13 yıl
Binbaşı

Temel mantık: iç içe iki adet for döngüsü kurmalısın. Bu döngülerden dıştaki matristeki satırları oluşturman için. İçteki ise her bir satırdaki tek bir değeri hesaplaman için dönüyor olacak. Şunun gibi:

 
const int MATRIX_SIZE = 15;
int i, j;
for(i=1; i<=MATRIX_SIZE; i++){
for(j=1; j<=MATRIX_SIZE; j++){
//Hesaplamanı burada yapıp sonucu ekrana bas, bir boşluk bırak.
}
//Satırın işi bitti, o halde alt satıra geç.
printf("\n");
}


Bu mesaja 1 cevap geldi.
B
13 yıl
Yarbay
Konu Sahibi

#include <cstdlib> 
#include <iostream>

using namespace std;

int main()
{

int i,j;

int matris[4][4];

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
matris[i][j]=i+j;

}
}

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<" "<<matris[i][j];
}
cout<<endl;
}

system("PAUSE");
return EXIT_SUCCESS;
}



Şuan toplama şeklinde yapabildim ama çarpım şeklinde yapamıyorum sapıtıyor dos


Bu mesaja 1 cevap geldi.
B
13 yıl
Yarbay
Konu Sahibi

Tamamdır şimdi çarpım şeklinde 15 e 15 yaptım .

#include <cstdlib> 
#include <iostream>

using namespace std;

int main()
{

int i,j;

int matris[16][16];

for(i=1;i<16;i++)
{
for(j=1;j<16;j++)
{
matris[i][j]=i*j;

}
}

for(i=1;i<16;i++)
{
for(j=1;j<16;j++)
{
cout<<" "<<matris[i][j];
}
cout<<endl;
}

system("PAUSE");
return EXIT_SUCCESS;


Tek bi sorunum kaldı biraz şekil kayıyorr çok haneli sayılar yüzünden . Bunu düzetlme imkanı var mı ?

< Resime gitmek için tıklayın >



G
13 yıl
Yüzbaşı

#include <stdio.h> 

int main()
{

int matrix[15][15];
int x,y;
for(x=0;x<15;++x)
{
for(y=0;y<15;++y)
{
matrix[x][y]=(x+1)*(y+1);
}
}

for(y=0;y<15;++y)
{
for(x=0;x<15;++x)
{
printf("%3d ",matrix[x][y]);
}
printf("\n");
}

return 0;
}



Abboo baska seylere bakarken baya gec kalmisim cevap vermek de :))

son soruna cevap veriyim.


printf("%3d ",matrix[x][y]); %3d cunku maksimum 225 goruyoruz.

  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
3 6 9 12 15 18 21 24 27 30 33 36 39 42 45
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
6 12 18 24 30 36 42 48 54 60 66 72 78 84 90
7 14 21 28 35 42 49 56 63 70 77 84 91 98 105
8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
9 18 27 36 45 54 63 72 81 90 99 108 117 126 135
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
11 22 33 44 55 66 77 88 99 110 121 132 143 154 165
12 24 36 48 60 72 84 96 108 120 132 144 156 168 180
13 26 39 52 65 78 91 104 117 130 143 156 169 182 195
14 28 42 56 70 84 98 112 126 140 154 168 182 196 210
15 30 45 60 75 90 105 120 135 150 165 180 195 210 225





< Bu mesaj bu kişi tarafından değiştirildi garui -- 7 Ocak 2013; 14:38:07 >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

cout icin ise

std::cout << setw(3) << matrix[x][y] << " ";

#include <iostream> 

int main()
{

int matrix[15][15];
int x,y;
for(x=0;x<15;++x)
{
for(y=0;y<15;++y)
{
matrix[x][y]=(x+1)*(y+1);
}
}

for(y=0;y<15;++y)
{
for(x=0;x<15;++x)
{
std::cout << setw(3) << matrix[x][y] << " " ;
}
std::cout << endl;
}

return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi garui -- 7 Ocak 2013; 14:48:17 >
Bu mesaja 1 cevap geldi.
B
13 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: garui

cout icin ise

std::cout << setw(3) << matrix[x][y] << " ";

#include <iostream> 

int main()
{

int matrix[15][15];
int x,y;
for(x=0;x<15;++x)
{
for(y=0;y<15;++y)
{
matrix[x][y]=(x+1)*(y+1);
}
}

for(y=0;y<15;++y)
{
for(x=0;x<15;++x)
{
std::cout << setw(3) << matrix[x][y] << " " ;
}
std::cout << endl;
}

return 0;
}


sanırım setw genişliği ayarlıyor bizde maksimum 3 haneli rakam olduğu için 3 olarak yazıyoruz . Yalnız bir sorun var" setw' undeclared (first use this function) " hatası veriyor .


NOT : imanip kütüphanesini ekledim sorun kalmadı hocam çok teşekkür ederim yardımın için tamamladım sorumu :)





< Bu mesaj bu kişi tarafından değiştirildi BorgaXxX -- 7 Ocak 2013; 16:41:53 >
Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: BorgaXxX

sanırım setw genişliği ayarlıyor bizde maksimum 3 haneli rakam olduğu için 3 olarak yazıyoruz . Yalnız bir sorun var" setw' undeclared (first use this function) " hatası veriyor .


NOT : imanip kütüphanesini ekledim sorun kalmadı hocam çok teşekkür ederim yardımın için tamamladım sorumu :)

Doğrudur :) setfill de kullanabilirsin ileride. Ona da bir bak.



O
4 yıl
Er

merhaba iyi günler tabloyu oluşturdum ama kutular içine alamıyorum nasıl yapa bilirim bilginiz varmı


Bu mesaja 2 cevap geldi.
T
4 yıl
Yarbay

kutular içine almak derken?



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


Bu mesajda bahsedilenler: @oxqwre
G
4 yıl
Yarbay

kutudan kasıt gui programlama herhalde örnek ama c#

using System.Collections.ObjectModel;
using System.Windows;


namespace ÇarpimMatris
{
    public partial class MainWindow : Window
    {
        public ObservableCollection<int> Matris { get; set; } = new ObservableCollection<int>();


        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
            for (int x = 0; x < 15; ++x)
            {
                for (int y = 0; y < 15; ++y)
                {
                    Matris.Add((x + 1) * (y + 1));
                }
            }
        }
    }
}




<Window x:Class="ÇarpimMatris.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:ÇarpimMatris"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="MainWindow"
    Width="800" Height="450"
    mc:Ignorable="d">
    <Grid>
        <ItemsControl ItemsSource="{Binding Matris}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Border BorderBrush="Black" BorderThickness="1">
                        <TextBlock Text="{Binding Mode=OneWay}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Border>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <UniformGrid Columns="15" Rows="15" />
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl>
    </Grid>
</Window>







< Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 27 Nisan 2021; 21:19:25 >

F
4 yıl
Çavuş

ya ilk sütünu kontrol edip öyleyse başa | değilse sonrasında | koy ya fa son sütunu kontrol edip tersini yap.
satırlar için de geçerli _ veya üst tre (teldeyken yazamıyorum alt + 1006 veya 1008 olması lazım)





< Bu mesaj bu kişi tarafından değiştirildi fatihdogmus -- 11 Mayıs 2021; 18:19:0 >

< Bu ileti Android uygulamasından atıldı >


Bu mesajda bahsedilenler: @oxqwre
T
4 yıl
Yarbay

Hem orjinal soru hem de hortlatma sorusunun Lisp ile çözümü:

< Resime gitmek için tıklayın >



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

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.