Tablice liczb i znaków, pętla for


Zadania 1 i 4 są autorstwa dr S. Sokołowskiego

Zad 1. Iloczyn skalarny

Wczytaj dwie tablice liczb typu całkowitego o długości 30 każda: x oraz y. Następnie napisz program który za pomocą pętli for oblicza wartość iloczynu skalarnego wektorów reprezentowanych przez te tablice danego wzorem:
x1*y1+x2*y2+...+x30*y30
gdzie xi to x[i] zaś yj to y[j]. Poćwicz działanie programu na krótkich tablicach np. długości 5.

Zad 2. Od końca

Napisz program, który wczytuje słowo z klawiatury do tablicy i wypisuje je z tablicy na ekran od końca. Przykładowe wywołanie jest takie:

Podaj słowo
s
t
o
Słowo od końca brzmi: o t s

Uwaga: aby poradzić sobie z faktem, że scanf("%c",&znak) wczytuje także znak entera, proponuję w linijce po tym wywołaniu scanf, wpisać kod

c = getchar();

a na początku programu, powyżej tego kodu, należy zadeklarować zmienną:

char c;

Zad 3 Palindrom

Napisz program, który sprawdza czy wpisane słowo pisze się tak samo od początku do końca jak od końca do początku czyli czy jest palindromem. Przykład działania programu:

Podaj słowo
p
o
t
o
p
Jest palindromem
k
o
t
Nie jest palindromem

Zad 4 Porównywanie ciągów

Napisz program który porównuje (i) 3 oraz (ii) 4 ciągi liter leksykograficznie. Mówimy że ciąg c poprzedza ciąg d (oba reprezentowane przez tablice znaków o nazwach c i d odpowiednio), jeśli przy porównywaniu litera po literze od lewej strony natrafimy na miejsce nr i w którym c[i] jest literą która w porządku alfabetycznym stoi przed literą d[i]. Jeśli takiego miejsca nie ma, uznajemy że ciągi c i d są równe. Załóż, że ciągi mogą być 30 literowe. Sprawdzaj działanie na 5 literowych. Na przykład ciąg

aabbbbb poprzedza ciąg ccaaaa , zaś ciąg bababa poprzedza ciąg bababz .
Po wczytaniu wszystkich ciągów (ciągi mogą mieć przyporząkowane numery) program ma wypisać numery ciągów w porządku który odpowiada leksykograficznemu porządkowi ciągów.