Сколько секунд потребуется, чтобы передать 400 страниц текста, со- стоящего из 30 строк по 60 символов каждая по линии со скоростью 128 000 бит/с, при условии что каждый символ кодируется 1 бай- том? должно получиться 45с
Var ar:array of array of integer; n1,k,i,n2,j:integer; b:boolean; begin; readln(n1); readln(n2); inc(n1); inc(n2); k:=1; setlength(ar,n1+1); while k<>n1 do begin; setlength(ar[k],n2+1); inc(k); end; b:=false; k:=0; i:=1; j:=1; writeln('Matrix:'); while i<>n1 do begin; writeln; while j<>n2 do begin; ar[i,j]:=random(100)-50; write(ar[i,j]:4); inc(j); end; j:=1; inc(i); end; i:=1; j:=1; while i<>n1 do begin; while j<>n2 do begin; if ar[i,j]<0 then b:=true; inc(j); end; if b=false then begin; writeln; writeln(i); exit; end; b:=false; inc(i); j:=1; end; writeln; writeln('Все'); end.
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <locale.h> //Максимальная длина вводимой строки#define Mx_s 255 //Массив символов, которые //необходиом удалить в начале и конце строкиchar sim[] = { '\t', ' '};//Функция проверяющая входит ли данный символ c в массив simint char_in_arr(char c) { int f = 0; for (int i = 0; i < strlen(sim); i++) { if (c == sim[i]) { f = 1; break; } } return f;}
int main(){ setlocale(LC_ALL, "rus"); //Вводимая строка char s[Mx_s]; //Ввод данных printf("\n >> Введите строку\n <<"); fgets(s, Mx_s, stdin); int l = strlen(s) - 1; //Переменные для определения отсечений в начале и конце строки int pos_b = 0; int pos_e = l-1; //Проверяем начало строки //Если нам попадаются удаляемые символы то увеличиваем значение pos_b for (;(pos_b < l) && char_in_arr(s[pos_b]); pos_b++) {} //Проверяем конец строки //Если нам попадаются удаляемые символы то уменьшаем значение pos_e for (;(pos_e >= 0) && (char_in_arr(s[pos_e])); pos_e--) {} //Длина отсеченного отрезка int l2 = pos_e - pos_b + 1; //Если длина корректа то if (l2 > 0) { //Строка для результата char s2[Mx_s]; //Идем по строке s1 int pos = 0; for (int i = pos_b, k_s = 0; i <= pos_e; i++) { //Считаем пробелы, идущие подряд if (s[i] == ' ') k_s++; else k_s = 0; //Если это не подряд идущие пробел if (k_s < 2) { //записываем символ в s2 s2[pos] = s[i]; pos++; } } s2[pos] = '\0'; //Вывод результат printf("\n >> Результат\n <<"); fputs(s2,stdout); } else //Строка пуста/Содержит только символы из массива sim printf("\n >> Ошибка в строке\n"); system("pause>>void"); return 0;}
Дано:
v= 128 000 бит\с
k= 400*30*60 = 720 000 символов
i= 1 байт = 8 бит
Найти:
t=?
I= v*t
t= I\ v
t= k*i \ v
t= 720000 * 8 бит \ 128000 бит\с
t= 45 с
ответ: 45 с