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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2009, 14:20   #1
psihadelic
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 26
По умолчанию Програмка на Паскале и С++ (лабораторка, первый курс)

Добрый день!

Как здорово, что на форуме есть раздел, что помогает студентам)

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

Задание первое:
Написано программу в языке С которая состоит из следующих действий:
1. Описание переменной индексованого типа, согласно с вариантом
2. Инициализация этой переменной выражением (арифметическим) согласно с вариантом.
3. Обработки переменной индексированого типа.

Вариант:
Тип даних - действительный
Кол-во элементов - 9
Выражение для обчисления масива:
парного непарного
2.3 + i 4.6 – i
Сортировать - по убыванию


Задание перевёл с украинского языка.

В общем вот, что я наделал:

Код HTML:
void main()
{       int i;
	double dZmin[9]={1.2,2.1,3.2,4.1,5.2,6.1,7.2,8.1,9.0};
	for (i=0; i<9; i=i+2)
	{
		dZmin[i]=4.6-i;
	}
	for (i=1; i<9; i=i+2)
	{
		dZmin[i]=2.3+i;
	}

}
И как сделать третье задание (пункт 3) я не знаю.
psihadelic вне форума Ответить с цитированием
Старый 17.11.2009, 14:26   #2
Secc
Пользователь
 
Аватар для Secc
 
Регистрация: 19.10.2009
Сообщений: 30
По умолчанию

я так понимаю что просто сортировку по убыванию сделать?

Код:
#include <iostream.h>
#include <conio.h>
void main()
{       int i,k,x;
	double dZmin[9];
	for (i=0; i<9; i=i+2)
	{
		dZmin[i]=4.6-i;
	}
	for (i=1; i<9; i=i+2)
	{
		dZmin[i]=2.3+i;
	}
 // сортировка методом вставки
        for (int M=1; M<9; M++)
        {
               x=dZmin[M];
               k=M-1;
               while ( dZmin[k]<x && k>=0 )
                k--;

                k++;


            for (int p=M-1; p>=k; p--)
            dZmin[p+1]=dZmin[p];

            dZmin[k]=x;

        }
        cout<<"Po ubyvaniyu:\n";
        for (int k=0; k<9; k++)
        cout<<dZmin[k]<<" ";
 getch();
}
а зачем сразу массиву присваивать значения? если ты его всеравно переписываешь дальше?
Спасибо! Кэп!!
FORZA LAZIO e NON MOLLARE MAI !!

Последний раз редактировалось Stilet; 17.11.2009 в 14:51.
Secc вне форума Ответить с цитированием
Старый 17.11.2009, 15:22   #3
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Secc
Код:
х
не имеет права быть
Код:
 int
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 17.11.2009, 15:30   #4
Secc
Пользователь
 
Аватар для Secc
 
Регистрация: 19.10.2009
Сообщений: 30
По умолчанию

я правдо не совсем понимаю почему х не может быть int
Если по условию разрешено иметь только одну глоб. переменную , то можно вот так сделать
Код:
for (int M=1,x; M<9; M++)
Спасибо! Кэп!!
FORZA LAZIO e NON MOLLARE MAI !!
Secc вне форума Ответить с цитированием
Старый 17.11.2009, 15:45   #5
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Потому, что
Код:
   x=dZmin[M];
У меня Builder не ругается, но выводит целые числа.
А Вижуал я думаю будет ругаться.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 17.11.2009, 15:45   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Secc Посмотреть сообщение
я правдо не совсем понимаю почему х не может быть int
Если по условию разрешено иметь только одну глоб. переменную , то можно вот так сделать
Код:
for (int M=1,x; M<9; M++)
Потому что массив типа double, то есть будет усечение до типа int с потерей данных. x должен быть так же типа double
... опоздал )
Visual ворнинг показывает )
netrino вне форума Ответить с цитированием
Старый 17.11.2009, 16:14   #7
psihadelic
Пользователь
 
Регистрация: 17.11.2009
Сообщений: 26
По умолчанию

Люди, боже, спасибо за помощь! Но, можно чуть коментариев о проделаном?) Ведь я не профи пока-что, не очень понял, о том, что сделали.

Вот как и говорил ещё одна лаба из той же серии.

НАписать прогу на Паскале из следующих действий:
1. Описать 3 переменные индексированого типа из 10 символьных значений
2. Инициализирование двух переменных согласно варианту
3. Инициализирование третьей переменной равным значением двох предыдущих переменных
4. Обработки третьей переменной согласно варианту (табл. 2.22).

Вариант:
Вираз для обчислення елемента 1-го масиву: 100 + i
Вираз для обчислення елемента 2-го масиву: 110 – i * i
Найти: сумму кодов елементов
psihadelic вне форума Ответить с цитированием
Старый 17.11.2009, 16:31   #8
Secc
Пользователь
 
Аватар для Secc
 
Регистрация: 19.10.2009
Сообщений: 30
По умолчанию

оу..точно необратил внимания..
Спасибо! Кэп!!
FORZA LAZIO e NON MOLLARE MAI !!
Secc вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
лабораторка по паскалю werus Помощь студентам 4 21.06.2009 20:54
Задачи по паскалю за первый курс! Psayker Помощь студентам 3 11.06.2009 11:24
Срочно! ЗАДАЧА НА ПАСКАЛЕ! Кто первый? pascal1994 Помощь студентам 3 24.01.2009 13:45
РЕШИТЕ ИНТЕРЕСНУЮ ЗАДАЧУ НА ПАСКАЛЕ) ПОЖАЛУЙСТА ДЛЯ ЛЮБИМОЙ ДЕВУШКИ.ПЕРВЫЙ КУРС УНИВЕРА АНДРОН Паскаль, Turbo Pascal, PascalABC.NET 1 10.11.2008 12:02