Господа Гуру, поймите, нет времени совсем, учу матан, скоро сессия, а нужно еще две задачки на Си написать, помогите плз. Работаю на Си 2.0(использовать станд. операторы ввода-вывода printf и scanf, стандартные библиотеки stdio.h , stdlib.h, math.h)
1. Определить, является ли число полиндромом (читается взад, вперед одинаково, например 121)
2.Найти максимум среди сумм элементов диагоналей целочисленной квадрат. матрицы, параллельных главной.
черновой листинг для второй:
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main(void)
{
int r,a[10][10],n,i,j,M,s1,s,tmp;
clrscr();
printf("Введите размерность матрицы");
scanf("%d",&n);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
printf("Введите элементы матрицы");
scanf("%d",&tmp);
a[j]=tmp;
}
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{ printf("\n %d ",a[j]);}
r=a[0][0];
for (i=0;i<n;i++)
{
s=0;
s1=0;
for (j=1;j<n-1;j++)
{
s+=a[i+j][j+1];
s1+=a[i+1][n-1-j];
}
if ((s>s1>r)||(s1>s>r)) r=s;
}
printf("\n %d ",r);
getch();
}
2 мааааааленьких задачки!!!
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Ну ПЛЗ!!! Последний раз на ближайший год!)))
1. Перевести число в строку.
Пока длина строки больше 1 элемента:
-- если последний элемент равен первому, отрезать первый и последний элементы
-- если не равны - число не является палиндромом.
Если в итоге пришли к пустой строке или строке из 1 символа - число является палиндромом
Пока длина строки больше 1 элемента:
-- если последний элемент равен первому, отрезать первый и последний элементы
-- если не равны - число не является палиндромом.
Если в итоге пришли к пустой строке или строке из 1 символа - число является палиндромом
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
А конкретный листинг не подкинете случаем?
Ну, можно и не резать. Зачем нам лишняя кровь?Хыиуду писал(а):1. Перевести число в строку.
Пока длина строки больше 1 элемента:
-- если последний элемент равен первому, отрезать первый и последний элементы
-- если не равны - число не является палиндромом.
Если в итоге пришли к пустой строке или строке из 1 символа - число является палиндромом

Код: Выделить всё
blIsPalindrom = true;
iStrLen = (strlen (str);
for (i =0; i < (iStrLen + 1) / 2); i++) {
if (str [i] != str [iStrLen - i - 1]) {
blIsPalindrom = false;
break;
};
};
for (i =0; i < iStrLen/ 2); i++)
Разница в том, что при нечетной длине в первом случае средний символ будет сравниваться сам с собой, а во втором - не будет. На конечный результат это не повлияет.