![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для определения размера памяти, необходимого для размещения объектов в языке С используется унарная операция:
int sizeof (параметр);
параметр – тип объекта или его идентификатор (только не имя функции). Операция sizeof возвращает размер памяти в байтах, отводимый под объект.
Если указан идентификатор сложного объекта (массив, структура, объединение), то результатом является размер всего сложного объекта.
Например:
sizeof(int) результат 2 байта,
int b[5]; sizeof(b) результат 10 байт;
int c[3][4]; sizeof(c) результат 24 байта.
Нарпимер:
char *m[]={"Winter","Spring","Summer","Automn"};
k=sizeof(m)/sizeof(*m);
printf("\n Количество строк = %d",k);
Пример 1: Упорядочить по алфавиту массив строк (не более 20) длиной не более 10 символов в каждой:
#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
char s[20][10],r[10];
int i,j,n;
clrscr();
puts(" Веди количество слов \n";
scanf(“%d”,&n);
for(i=0;i<n;i++)
scanf("%s",&s[i]);
for(i=0;i<(n-1);i++)
for(j=(i+1);j<n;j++)
if(strcmp(s[i],s[j])>0)
{
strcpy(r,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],r);
}
for(i=0;i<n;i++)
printf("\n %s",s[i]);
getch();
}
Пример 2: Проверить, является ли введенная строка полиндромом (справа-налево читается также как и слева-направо).
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main(void)
{
char *s,*s1; // Обьявление строки указателем
int i, k;
clrscr();
puts(" Введите исходную строку");
gets(s);
k=strlen(s);
puts("РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ\n");
for (i=0; i<k; i++)
printf("%c",s1[i]=s[k-i-1]); // Переворачиваем строку s
s1[k]=’\0’; // Устанавливаем конец строки
printf(“ %s\n”,strcpy(s1,s)? ” YES - Polindrom!”:” NO!”)
printf("\n Press any key...");
getch();
}
Дата публикования: 2014-11-28; Прочитано: 261 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!