Şimdi Ara

C , C++ ta Çarpım Matrisi oluşturma yardım ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
14
Cevap
0
Favori
9.995
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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 .



  • 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");
    }
  • #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
  • 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ı ?

     C , C++ ta Çarpım Matrisi oluşturma yardım ?




  • #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 >




  • 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 >
  • 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 >




  • 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.
  • merhaba iyi günler tabloyu oluşturdum ama kutular içine alamıyorum nasıl yapa bilirim bilginiz varmı

  • oxqwre O kullanıcısına yanıt
    kutular içine almak derken?

    < Bu ileti mini sürüm kullanılarak atıldı >
  • kutudan kasıt gui programlama herhalde örnek ama c#


    Kod

    Yığını:
    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));                 }             }         }     } }


    Kod

    Yığını:
    <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 >




  • oxqwre O kullanıcısına yanıt
    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ı >
  • Hem orjinal soru hem de hortlatma sorusunun Lisp ile çözümü:

     C , C++ ta Çarpım Matrisi oluşturma yardım ?

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.