Насколько я помню, линейные алгоритмы состоят из достаточно простых, но в то же время базовых операторов. Такими операторами являются оператор присваивания значения переменным, создание этих переменных, резервирование под них места и команды ввода - вывода данных, внесенных в программу пользователем.
Если смотреть с точки зрения пользователя, то оператора два: ввод-вывод и присваивание значения.
Блок схема программы
Определение входных данных
строка для обработки
Определение выходных данных
строка для обработки,измене<wbr />нная строка или сообщение "Нет символов для замены"
код программы:
void main()
{
char mystr[256],z='*';
int i;
printf("Введите строку\n");
scanf("%s",mystr);
printf("Исходная строка:%s\n",mystr);
if(strchr(mystr,z)==<wbr />NULL){printf("Нет символов для замены\n");}
else{
for(i=strlen(mystr);<wbr />i>0;i--){
mystr[i]=(mystr[i]==<wbr />'*'?'7':mystr[i]);
}
printf("Измененная строка:%s",mystr);
}
}
пример выдачи:
**йцукен*гшщзх*фыва*<wbr />*
Исходная строка:йцукен*гшщзх*<wbr />фыва
Измененная строка:йцукен7гшщзх7<wbr />фыва
Линейный алгоритм - это алгоритм, в котором действия, или блоки, выполняются линейно, друг за другом. Нет ветвлений, нет циклов. Порядок выполнения блоков не меняется. Каждое действие в линейном алгоритме выполняется один раз.
Кроме линейного, еще бывают циклический и ветвящийся алгоритмы. А в реальных сложных и не очень программах эти алгоритмы сочетаются.
void main()
{
int array[12][12],i,j,su<wbr />m;
//Заполняем массив значениями от 0 до 99
for (i=0;i<12;i++)
for (j=0;j<12;j++)
array[i][j]=rand()%1<wbr />00;
//Подсчитываем сумму главной диагонали
sum=0;
for (i=0;i<12;i++)
sum+=array[i][i];
//Выводим результат
printf ("Сумма главной диагонали равна %d",sum);
}
В данном случае не вижу, что требовалось бы вводить с клавиатуры, т.к. размер массива в задании конкретно задан.
Попробуем решить эту задачу:
Ну проще всего сделать так: Обозначим арбузы буквами АБВГ
1) Будем взвешивать потихонечку. А с Б взвесим. Если А тяжелее, то А взвесим С В, если опять тяжелее А, то А взвесим с В, если опять а тяжелее, то а на последнем месте и у нас уже было три взвешивания. Теперь берем арбуз б взвешиваем его с в, если б тяжелее, то он на предпоследнем месте, теперь остается взвесить в с г, если в тяжелее в, то он второй по счету, а г самый легкий. Получилось как раз пять взвешиваний, меньше не получается. Ну, а в зависимости от того какие ситуации получаются будем идти по разным путям.
А с Б взвесим. Если Б тяжелее, то Б взвесим С В, если опять тяжелее Б, то Б взвесим с В, если опять Б тяжелее, то Б на последнем месте и у нас уже было три взвешивания. Теперь берем арбуз А взвешиваем его с в, если А тяжелее, то он на предпоследнем месте, теперь остается взвесить В с Г, если в тяжелее В, то он второй по счету, а Г самый легкий. Получилось как раз пять взвешиваний, меньше не получается. Ну и так далее рассуждая всегда за пять взвешиваний можно определить самый легкий арбуз и так далее.