Witam bardzo proszę o pomoc w stworzeniu programu który dodaje do siebie dwie macierze i losuje do nich liczby. A drugi który mnoży macierze. W języku C. Z góry wielkie, wielkie dzięki.
Witam bardzo proszę o pomoc w stworzeniu programu który dodaje do siebie dwie macierze i losuje do nich liczby. A drugi który mnoży macierze. W języku C. Z góry wielkie, wielkie dzięki.
Po krótce szkielet programu.
-biblioteki
-losowanie macierzy
-wyswietlenie wylosowanych macierzy (opcjonalnie)
-mnożenie/dodawanie macierzy
-wyswietlenie wyniku
no to tak bardzo schematycznie i technicznie
szukam, poszukuję...
standard:
1. Jakiej pomocy oczekujesz?
2. Pokaż co już zrobiłeś.
1. Dodawanie macierzy z losowanymi do nich liczbami
co o tym sądzicie? jak można zrobić to inaczej? a na mnożenie nie mam pomysłuKod:#include<stdio.h> main() { int tabA[10][10]; int tabB[10][10]; int tabC[10][10]; int i,j,x,y; printf("Wprowadz wielkosc macierzy: \n"); scanf("%i%i",&x,&y); srand((int) time(0)); for(i=0; i<x; i++){ for(j=0; j<y; j++){ tabA[i][j]=rand()%10; } } for(i=0; i<x; i++){ for(j=0; j<y; j++){ tabB[i][j]=rand()%10; } } printf("\nMacierz A: \n"); for(i=0; i<x; i++) { printf("\n"); for(j=0; j<y; j++) { printf("%i ",tabA[i][j]); } } printf("\n\nMacierz B: \n"); for(i=0; i<x; i++) { printf("\n"); for(j=0; j<y; j++) { printf("%i ",tabB[i][j]); } } //DODAWANIE for(i=0; i<x; i++) for(j=0; j<y; j++) { tabC[i][j]=0; tabC[i][j]=tabA[i][j]+tabB[i][j]; } printf("\n\nMacierz C: \n"); for(i=0; i<x; i++) { printf("\n"); for(j=0; j<y; j++) { printf("%i ",tabC[i][j]); } } getch(); }![]()
Pomyśl logicznie co piszesz
Masz tutaj 4 pętle ( po dwie zagnieżdżone ) dlaczego losowania tabB nie wrzucisz do pętli razem z losowaniem tabA tylko robisz osobne pętle? To jest bezsens w tym wypadku skoro tablice mają te same rozmiary. Nie podam ci gotowego rozwiązania bo tutaj chodzi o to żebyś sam to zrozumiał.Kod:for(i=0; i<x; i++){ for(j=0; j<y; j++){ tabA[i][j]=rand()%10; } } for(i=0; i<x; i++){ for(j=0; j<y; j++){ tabB[i][j]=rand()%10; } }
W drugim cytowanym przeze mnie kawałku kodu zerujesz element tablicy, a potem od razu przypisujesz mu wartość. Po co zerujesz skoro zaraz po tym i tak wpisujesz wartość? To jest puste przypisanie nic nie wnoszące do rozwiązania problemu. Poza tym zerować tablicę możesz bez pętli inicjalizując ją
np
i w tedy masz pewność, że tablica jest wyzerowana.Kod:int tab[ 2 ][ 2 ] = { 0 };
Znajdziesz nas na: