[реклама вместо картинки]
Сделать стартовой Добавить в Избранное
Часы в заголовке окна

Форум студентов МГУ Печати ФИТиМ ИТД

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум студентов МГУ Печати ФИТиМ ИТД » Архив » Информатика (Сессия. I семестр)


Информатика (Сессия. I семестр)

Сообщений 281 страница 300 из 324

281

Жаль...  :cray:

0

282

двоек-то в группах одинаковое количество,а вот 5 во второй группе на 2 больше ;)

0

283

Скоробогатов написал(а):

Во второй группе 12 двоек :-(

Нехреново с обеих групп набирается... Информационные технологии, эх...  :(

PANTECH написал(а):

двоек-то в группах одинаковое количество,а вот 5 во второй группе на 2 больше

Да ну!..  :P

0

284

Люди!!Кто не сдал!Прошу вас, много не грустите!!!!!все у вас получиться в следующий раз!!!!!!!! :) поверьте это будет легче)

0

285

Ага!......Возлюби лектора своего, ибо даже собака - друг человека. :diablo:

0

286

Сергей Юрьевич,а вы обещали по просьбе трудящихся выложить задачки по информатике,которые были на экзамене...
и еще вопрос(от тех же самых трудящихся) 25 во сколько и где будет пересдача??

0

287

Imka),

Скоробогатов написал(а):

Пересдача (для обеих групп) будет 29 января в 9:00 в 3326.

:bye:

0

288

F1aSh,не...  некоторые,кто договаривался с деканатом пересдают 25-ого,т.к. у них куплены билеты домой и т.д. и т.п.

0

289

Итак, повторная сдача экзамена по информатике состоится 29 января в 9:00 в ауд. 3326.
Те, кому деканат выдаст специальное направление, будут сдавать 25 января в 9:00 в ауд. 3326.

Для подготовки к переэкзаменовке предлагается решить 15 задач (они были на экзамене):

Задача 1
Дан целочисленный массив размера 9. Составить программу, определяющую, чередуются ли знаки у элементов массива. Если знаки чередуются, программа должна выводить YES, в противном случае – NO.

Пример 1.
    -1 2 -3 4 -5 6 -7 8 -9
    YES

Пример 2.
    10 -6 7 -2 65 -11 100 -1 1
    YES

Пример 3.
    1 -5 6 -8 9 1 7 4 1
    NO

Задача 2
Дана строка и целое число N. Составить программу, которая удаляет из строки N-ный по счёту пробел (считая слева).

Пример 1.
    alpha beta gamma delta
    2
    alpha betagamma delta

Пример 2.
    A B C D E F
    4
    A B C DE F

Задача 3
Дана целочисленная матрица размера 3 x 3. Составить программу, определяющую, является ли матрица ортогональной. Если матрица является ортогональной, программа должна выводить YES, в противном случае – NO.

Примечание: ортогональной называют такую квадратную матрицу A, что A * AT = E, где AT – транспонированная матрица A, а E – единичная матрица.

Пример 1.
    -1  0  0
     0  0 -1
     0  1  0
    YES

Пример 2.
    -1  0  0
     0  0 -1
     0 -1  0
    YES

Пример 3.
     1  2  3
     4  5  6
     7  8  9
    NO

Задача 4
Дан целочисленный массив размера 8. Составить программу, определяющую, содержит ли массив некоторое число в единственном количестве. Если содержит, программа должна выводить YES, в противном случае – NO.

Пример 1. (Единственное число 5.)
    1 4 5 1 2 4 2 1
    YES

Пример 2. (Единственные числа 10 и -1.)
    1 1 2 -1 2 2 2 10
    YES

Пример 3.
    5 6 7 8 5 6 7 8
    NO

Задача 5
Дана строка. Составить программу, определяющую, содержит ли строка последовательность из букв 'A', 'B' и 'C'. Порядок букв играет роль. Кроме того, между буквами последовательности могут располагаться любые другие символы. Если строка содержит последовательность, программа должна выводить YES, в противном случае – NO.

Пример 1.
    xyzAqwertyBasdfCzxc
    YES

Пример 2.
    qqqqAkkkkBzzzz
    NO

Задача 6
Дана целочисленная матрица размера 5 x 5. Составить программу, определяющую, является ли матрица трёхдиагональной. Если является, программа должна выводить YES, в противном случае – NO.

Примечание: трёхдиагональной называется матрица, содержащая ненулевые значения на главной диагонали и на двух диагоналях, находящихся по бокам от главной. Все остальные элементы матрицы заполнены нулями.

Пример.
    1 2 0 0 0
    3 4 5 0 0
    0 6 7 8 0
    0 0 9 1 2
    0 0 0 3 4
    YES

Задача 7
Дан целочисленный массив размера 10. Составить программу, определяющую максимальное количество идущих подряд нулей в массиве.

Пример 1.
    2 0 1 0 0 2 0 0 0 1
    3

Пример 2.
    1 2 3 4 5 6 7 8 9 10
    0

Пример 3.
    0 0 0 0 0 0 0 0 0 0
    10

Задача 8
Дана строка и целое число N. Определить, содержит ли строка подстроку, состоящую из N одинаковых символов. Если строка содержит подстроку, программа должна выводить YES, в противном случае – NO.

Пример 1.
    aabbbddddddyy
    4
    YES

Пример 2.
    zzzqqqkkkk
    5
    NO

Задача 9
Дана строка, состоящая из слов, разделённых пробелами. Составить программу, удаляющую в каждом слове все буквы, кроме первой и последней.

Пример.
    qwerty asdf zxc 10 0
    qy af zc 10 0

Задача 10
Дан целочисленный массив размера 8. Составить программу, определяющую, содержит ли данный массив три одинаковых элемента. Если содержит, программа должна выводить YES, в противном случае – NO.

Пример 1. (В массиве содержатся три двойки.)
    1 2 3 2 4 5 2 6
    YES

Пример 2.
    0 1 2 3 4 5 6 7
    NO

Задача 11
Дана строка, про которую известно, что она состоит только из заглавных латинских букв. Составить программу, определяющую, какая буква чаще всего встречается в строке, и удаляющую все вхождения этой буквы.

Пример 1.
    AAAAABBBAACC
    BBBCC

Пример 2.
    ABCDD
    ABC

Задача 12
Дана целочисленная матрица размера 4 x 4. Составить программу, определяющую, содержит ли матрица такие строку и столбец, что их скалярное произведение равно нулю. Если содержит, программа должна выводить YES, в противном случае – NO.

Пример 1.
    1  2  3  4
    0  1 -1  1
    7  1  8  0
    4  0  5  6
    YES

Пример 2.
    0  1  0  2
    3  0  4  0
    0  5  0  6
    7  0  8  0
    YES

Пример 3.
    1  2  3  4
    5  6  7  8
    1  2  3  4
    5  6  7  8
    NO

Задача 13
Дан целочисленный массив размера 8. Составить программу, определяющую, содержит ли данный массив хотя бы одну пифагорову тройку. Если содержит, программа должна выводить YES, в противном случае – NO.

Примечание: пифагоровой тройкой будем называть три положительных числа a, b и c таких, что a*a + b*b = c*c.

Пример 1.
    1 5 2 6 3 7 4 8
    YES

Пример 2.
    1 5 12 7 13 1 0 2
    YES

Пример 3.
    0 0 0 -3 4 5 0 0
    NO

Задача 14
Дана целочисленная матрица размера 3 x 3. Составить программу, определяющую, содержит ли данная матрица единственный минимальный элемент. Если содержит, программа должна выводить YES, в противном случае – NO.

Пример 1.
    1 2 3
    4 5 6
    7 8 9
    YES

Пример 2.
    3 5 7
    4 3 9
    8 6 3
    NO

Задача 15
Дан целочисленный массив размера 10. Составить программу, определяющую самую длинную неубывающую последовательность идущих подряд элементов массива. Программа должна выводить на экран длину последовательности.

Пример 1.
    4 1 3 5 7 9 8 10 1 1
    5

Пример 2.
    0 0 0 1 1 1 1 2 2 2
    10

Пример 3.
    9 8 7 6 5 4 3 2 1 0
    1

0

290

Сергей Юрьевич, а что же это Вы не выложили задачу номер 9,разобранную для примера???? как обещали! Или дело в том,что даже у Вас она не компелируется?

0

291

alitiya написал(а):

Сергей Юрьевич, а что же это Вы не выложили задачу номер 9,разобранную для примера???? как обещали!

Извините, позабыл о ней.

alitiya написал(а):

Или дело в том,что даже у Вас она не компелируется?

Ну и к чему этот сарказм?
У меня всё всегда компилируется и работает :-)

Вот решение девятой задачи:
#include "stdafx.h"
#include <stdio.h>

void del(char *s, char *d)
{
    int i = 0;  /* i - счётчик для исходной строки s */
    int j = 0;  /* j - счётчик для результирующей строки d */

    while (s[i]) /* пока не кончилась исходная строка */
    {
        /* копируем идущие подряд пробелы из исходной
           строки в результирующую */
        while (s[i] == ' ')
            d[j++] = s[i++];

        if (s[i]) /* если исходная строка не кончилась... */
        {
            int k;
            d[j++] = s[i++]; /* копируем первую букву слова */

            /* пропускаем все остальные буквы слова */
            k = i;
            while (s[k] != ' ' && s[k])
                k++;

            if (k > i)  /* если в слове оказалось больше одной буквы... */
                d[j++] = s[k-1]; /* ...копируем последнюю букву слова */

            i = k;
        }
    }

    d[j] = 0;
}

int main(void)
{
    char s[100], d[100];
    gets(s);
    del(s,d);
    printf(d);
    return 0;
}

0

292

#include<stdafx.h>
#include<stdio.h>
#include<string.h>

char s[100];
int i,len,j,d,k;

void func1(void)
{
   for (j=0;j<len;j=j+3)
    {
      while (s[j+2]!=’ ’&& s[j+1]!=’\0’)
      {
        k++;
            for(i=j+1;i<len-1;i++)
             {
               s[i]=s[i+1];
               s[len-k]=’\0’;
              }
          d++
       }
    }
}
void main (void)
{
  gets(s):
  len=strlen(s);
  func1();
  for(i=0;i<len-d;i++)
       printf(“%d”,s[i]);

Прошу высказать Ваше мнение по предлогаемому варианту с разъяснениями.(одинарные ковычки поставлены другим сомволом-знаю).

0

293

alitiya, а Вы пытались эту Вашу программу запустить?
Вообще, мне непонятно, чего Вы от меня добиваетесь, и почему таким тоном.
Ведь для того чтобы понять, что программа не компилируется, моих консультаций не требуется: достаточно диагностики, выдаваемой компилятором.

Теперь касательно "разъяснений".
Если в предлагаемом варианте:

1. исправить одинарные и двойные кавычки;
2. в двух местах поставить точки с запятой;
3. добавить закрывающую фигурную скобку;
4. заменить for(i=0;i<len-d;i++) printf(“%d”,s[i]); на printf(s);

то в некоторых случаях программа будет работать.

Однако, если ввести строку, состоящую из двух букв, программа повиснет.

0

294

спасибо за разьяснение.

0

295

ээм....Сергей Юрьевич, задачи, которые были на экзамене предлагаются только для ПОДГОТОВКИ...или они же и будут на пересдаче( :yes: )))??..ну или хотя бы похожие?:blush:...

0

296

Kissla†a написал(а):

задачи, которые были на экзамене предлагаются только для ПОДГОТОВКИ...или они же и будут на пересдаче( :yes: )))?

Только для подготовки.
На пересдаче будут новые задачки.
В какой-то степени похожие, конечно.

0

297

:cray:  :cray:  :cray:  осталось всего-то чуточку!

0

298

Новые задачки для тех, кто готовится к пересдаче экзамена по информатике:

Задача 16.
Дан целочисленный массив размера 8. Составить программу, определяющую, содержит ли массив числа, сумма цифр которых одинакова. Если содержит, программа должна выводить YES, в противном случае – NO.

Пример 1.
    1 2 3 4 5 6 11 7
    YES

Пример 2.
    1 2 3 4 5 6 7 8
    NO

Пример 3.
    1 -2 3 -4 5 -6 7 -133
    YES

Задача 17.
Дана строка, состоящая из слов, разделённых пробелами. Составить программу, определяющую, есть ли в строке такое слово, что в нём содержатся сразу и заглавные латинские буквы, и десятичные цифры. Если такое слово имеется, программа должна выводить YES, в противном случае – NO.

Пример 1.
    ABC F117 100
    YES

Пример 2.
    QWERTY 1000 X 7
    NO

0

299

Задача с пересдачи.
Дана строка, состоящая из слов, разделенных пробелами, составить программу, удаляющую из строки каждое второе слово.

#include "stdafx.h"
#include "string.h"

void f(char s[100])
{
int i, j, k;
char ns[100];

for(i=k=0; i < strlen(s); i++, k++)
    if(s[i] == ' ')
    {
    ns[k]=s[i];
    for(j=i+1; s[j] != ' '; j++)
        ;
    i=j;
    }
    else
    ns[k]=s[i];
ns[k]='\0';

printf(ns);
printf("\n");
}

int main(void)
{
char s[100];

gets(s);

f(s);

return 0;
}

Сергей Юрьевич, как правильно сделать вывод в main?

0

300

Wombat написал(а):

Сергей Юрьевич, как правильно сделать вывод в main?

Вот так:

#include "stdafx.h"
#include "string.h"

void f(char s[100], char ns[100])
{
    int i, j, k;

    for(i=k=0; i < strlen(s); i++, k++)
        if(s[i] == ' ')
        {
            ns[k]=s[i];
            for(j=i+1; s[j] != ' '; j++)
                ;
            i=j;
        }
        else
            ns[k]=s[i];
    ns[k]='\0';
}

int main(void)
{
    char s[100], ns[100];

    gets(s);
    f(s,ns);
    printf(ns);

    return 0;
}

0


Вы здесь » Форум студентов МГУ Печати ФИТиМ ИТД » Архив » Информатика (Сессия. I семестр)