Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 02:50   #1
Valera2RU
Новичок
Джуниор
 
Регистрация: 13.12.2010
Сообщений: 2
По умолчанию Двумерные массивы и Структуры! с++

Здравствуйте коллеги,столкнулся с такой проблемой,конец полугодия...учитель в университете попался не ахти,знаний катастрофически не хватает,а до сдать нужно,обращаюсь к вам за помощью (все это в ТУРБО 3,0):
значит Задание1:
Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы

Код:
#include <stdio.h>

int main(int argc, char* argv[])
{
    /* Объявляем и инициализируем матрицу 8х8 */
    int     matrix[8][8] = {
                           { 2, 7, 2, 7, 1, 4, 0, 3 },
                           { 1, 0, 7, 6, 0, -8, 3, 5 },
                           { 2, 7, 1, 8, 1, 4, 9, 3 },
                           { 9, 2, 8, 5, 2, 0, 0, 6 },
                           { 7, 1, 1, 3, 9, 3, 9, 1 },
                           { 8, 2, 4, 9, 1, -6, 4, 9 },
                           { 0, 3, 9, 0, 9, 4, 8, 8 },
                           { 1, 8, 3, 2, 8, 2, 8, 0 }
                           };
    int     i, j, iSumm; /* Счетчик и переменная для хранения суммы */
    bool    bFlag;          /* Флаг */

        for (i = 0; i<8; i++)
    {
        /* Присваиваем переменным исходные значения */
        bFlag=true;
        jSumm=0;
        for (j=0; j<8; j++)
        {
            /* При нахождение хотя бы одного не отрицательного элемента
присваиваем Флагу значение истина,обозначающее необходимость вывода Суммы на экран  */
            if (matrix[i][j]>0) bFlag=true;

          /* Суммируем значения элементов j-й столбца */
            jSumm += matrix[i][j];
        }
        /* В случае нахождения в строке хотя бы одного не отрицательного элемента выводим на экран сумму элементов j-й столбца */
        if (bFlag) printf("Сумма элементов строки #%d = %d\n", j, jSumm);
    }
    return 0;
}
остальное не понимаю!

и вторая


Вариант 5
1. Описать структуру с именем АЕRОLOT, содержащую следующие поля:
• NAZN - название пункта назначения рейса;
• NUMR - номер рейса;
• ТIР - тип самолета.
2. Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив АIРОRТ, состоящий из семи элемен¬тов типа АЕRОFLОТ; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
• вывод на экран пунктов назначения и номеров рейсов, обслуживаемых са¬молетом, тип которого введен с клавиатуры;
• если таких рейсов нет, выдать на дисплей соответствующее сообщение.



прошу вас помочь,заранее благодарю!

Последний раз редактировалось Stilet; 15.12.2010 в 09:19.
Valera2RU вне форума Ответить с цитированием
Старый 15.12.2010, 02:50   #2
Valera2RU
Новичок
Джуниор
 
Регистрация: 13.12.2010
Сообщений: 2
По умолчанию

(пример,но мне не помогает)

СТРУКТУРЫ
Пример задания: 1. Описать структуру с именем STUDENT, содержащую следующие поля:
• Name – фамилия;
• Group – номер группы;
• Ses – успеваемость.
2. Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив Stud1, состоящей из 10 структур типа Student; записи должны быть упорядочены по возрастанию содержимого поля Group;
• вывод на экран фамилий и номеров групп для всех студентов, включенных в массив, если балл успеваемости студента больше 4.
• если таких студентов нет, вывести соответствующее сообщение.
Пример решения задачи:
Код:
#include <stdio.h>
struct Student
{
    char    Name[255];    /* Фамилия студента */
    int     Group;        /* Номер группы */
    float   Ses;          /* Балл успеваемости */
};
int main(int argc, char* argv[])
{
  /* Объявление и инициализация переменных и констант */
    const    MAX_STUDENTS = 5;      /* Определяет количество студентов */
    Student  Stud1[MAX_STUDENTS];
    Student  stTemp;
    bool     is = false;
    /* Запрашиваем ввод данных с клавиатуры */
    for (int i = 0; i < MAX_STUDENTS; i++)
    {
        printf("Введите запись #%d:\n\tИмя: ", i);
        gets(Stud1[i].Name);
        printf("\tГруппа: ");
        scanf("%d", &Stud1[i].Group);
        printf("\tБалл: ");
        scanf("%f", &Stud1[i].Ses);
    }
    /* Сортировка массива структур Student по полю Group (по возрастанию) */
    for (i = 0; i < MAX_STUDENTS; i++)
    {
        for (int j = i + 1; j < MAX_STUDENTS; j++)
        {
            if (Stud1[i].Group > Stud1[j].Group)
            {
                stTemp = Stud1[i];
                Stud1[i] = Stud1[j];
                Stud1[j] = stTemp;
            }
        }
    }
    /* Вывод на экран фамилий студентов и номеров групп, у которых средний балл больше 4 */
    for (i = 0; i < MAX_STUDENTS; i++)
    {
        if (Stud1[i].Ses > 4)
        {
            printf("\n%s из группы #%d", Stud1[i].Name, Stud1[i].Group);
            /* При наличие хотя бы одного такого студента выставляем флаг 
            is = true;
        }
    }
    /* Если не найдено ни одного студента, удовлетворяющего условиям отбора выводим соответствующее сообщение */
    if (!is) printf("\nСтуденты с баллом успеваемости > 4 отсутствуют.");
    return 0;
}
Результат выполнения программы:
Цитата:
Введите запись #0:
Имя: Golodoniuc Pavel
Группа: 12
Балл: 8.77
Введите запись #1:
Имя: Vasia Pupkin
Группа: 14
Балл: 2.7
Введите запись #2:
Имя: Philip Lykov
Группа: 11
Балл: 6.8
Введите запись #3:
Имя: Alexander Pushkin
Группа: 13
Балл: 3.4
Введите запись #4:
Имя: Stepan Fedorov
Группа: 11
Балл: 4.8
Golodoniuc Pavel из группы #12
Philip Lykov из группы #11
Stepan Fedorov из группы #11

Последний раз редактировалось Stilet; 15.12.2010 в 09:21.
Valera2RU вне форума Ответить с цитированием
Старый 15.12.2010, 09:40   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Даю наводку:http://www.programmersforum.ru/showp...3&postcount=31
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы St1mkA Помощь студентам 7 17.03.2010 20:30
двумерные массивы в Си osichev Помощь студентам 1 04.06.2009 18:00
Двумерные массивы!!!!! avp91 Паскаль, Turbo Pascal, PascalABC.NET 2 04.06.2009 16:36