#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include<malloc.h>
void matrix(void) {
setlocale(0,".1251");
unsigned int i,
j;
long min,
max;
printf("Введите количество строк матрицы:\n");
scanf("%u",&i);
printf("Введите количество столбцов матрицы:\n");
scanf("%u",&j);
printf("Введите минимум чисел:\n");
scanf("%li",&min);
printf("Введите максимум чисел:\n");
scanf("%li",&max);
srand(time(NULL));
long *mas = (long*)malloc(sizeof(long)*i*j);
printf("Ваш массив:\n");
for(unsigned int ti=0;ti<i;ti++){
for(unsigned int tj=0;tj<j;tj++){
mas[ti*j+tj] = rand()%(max-min+1)+min;
printf("%li \t",mas[ti*j+tj]);
}
printf("\n");
}
printf("Елементы под побочной диагональю(лишние заменены на символ *):\n");
for(unsigned int ti=0;ti<i;ti++){
for(unsigned int tj=0;tj<j;tj++){
if(ti>j-tj-1) printf("%li \t",mas[ti*j+tj]);
else printf("* \t");
}
printf("\n");
}
free(mas);
}
int main(int argc, char *argv[]) {
matrix();
return 0;
}
Программа сработает некорректно если слова будут разделены несколькими пробелами или строка будет заканчиваться пробелом
const c = ' ';
var
s : string;
k,p : integer;
begin
writeln ('Введите строку');
readln (s);
k := -1;
p := 1;
if (s <> '') and (s <> ' ') then
begin
while p <> 0 do
begin
k := k +1;
p := PosEx (c,s,p+1);
end;
writeln (k+1,' word')
end
else
writeln ('error string');
end.