Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    в ходе сортировки на чётность нечётность вводишь переменную булевского типа которая реагирует на чёт и нечет
    t = 1 чёт t = 0 нечет

    если t 2 раза равно чёт или нечет подряд,то запоминаешь индекс второго элемента потом идёшь дальше и находишь нечётный . и по индексу меняешь с чётным.

    а потом вывод с конца по моему очевиден.
     
  2. Pack4

    Pack4 New Member

    Joined:
    28 Jun 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Кто знает хорошо Pascal???)))
    Переведите пожалуйста на С++ код:
    Code:
       
       const         anMax = 3;
      An: array[0..anMax] of double = (-5.372,1.2493,0.559,-0.13);   
                function Func(x: double; d: byte):double; far;  
         {
    }     
      var        
     Res: double;    
         i: byte;     
      function frac(a,b: byte): longint;    
         var           res: longint;  
           begin           res:= 1;   
            while a > b do     
            begin             
      res:= res*a;       
            dec(a);           
      end;         
      frac:= res;     
        end;     
      begin       
      Res:=0;   
          for i:= anMax-d downto 0 do   
            Res:=res*x+An[i+d]*frac(i+d,i);         
    Func:= Res;    
       end;
    
     
  3. PAXAn

    PAXAn Elder - Старейшина

    Joined:
    14 Jun 2008
    Messages:
    43
    Likes Received:
    3
    Reputations:
    0
    есть такая интересная лаба, надо посчитать метрику Холстеда дл с++ и сделать это на DELPHI. может кто_небудь уже это делал и может скинуть наработки? можно на любом другом языке, я сам постораюсь переписать не делфи. я просто понятия не имею как эту метрику посчитать, жду помощи;-)
     
  4. Rastor

    Rastor New Member

    Joined:
    3 Aug 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Доброй ночи форумчане))Помогите решить две задачки по C++

    1)Заполнить массив А следующим образом: значения элементов массива, стоящих в первой и последней позиции равны 1, во второй и предпоследней равны двум и т.д..

    2)Определить, упорядочены ли столбцы массива Mas по невозрастанию.


    Буду очень благодарен)))))
     
  5. PAXAn

    PAXAn Elder - Старейшина

    Joined:
    14 Jun 2008
    Messages:
    43
    Likes Received:
    3
    Reputations:
    0
    Rastor


    писал прям тут так что сильно не пинай=)
     
  6. Rastor

    Rastor New Member

    Joined:
    3 Aug 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Спасиб))))
     
  7. Nogir15

    Nogir15 New Member

    Joined:
    28 Nov 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    -1
    Кто поможет????

    Кто поможет мне в написании простенькой программы ??очень надо...прошу написать мне в скайп..rokki20492
     
  8. uhctuhkt

    uhctuhkt New Member

    Joined:
    3 Dec 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    помогите!

    напишите пож на С++ программы срочно нужно...
    1) Напишите программу, которая выводит на экран таблицу квадратов и кубов целых чисел a от 1 до 10. Столбцы таблицы должны иметь имена a^1, a^2, a^3.
    2)В одномерном массиве, состоящем из вещественных элементов, вычислить:
    А) количество пар x и x[i+1], таких, что x< x[i+1]
    Б) произведение элементов массива, расположенных после последнего нулевого элемента.
    В) Заменить все отрицательные элементы максимальными
    Г) отсортировать массив методом обмена
    3)Написать функции:
    1. создания матрицы размерности , элементы матрицы А – вещественные числа. Параметры функции – сама матрица, ее размерность.
    2. печати матрицы. Параметры функции – сама матрица, ее размерность.
    3. подсчитывающую произведение элементов матрицы, имеющих значения, не большие, чем заданное k.
    4. Изменения матрицы – удалить столбцы матрицы, последний элемент которых отрицателен.
    В основной программе вызвать функции для 3-х матриц x,y,z, размерностями 8х7, 4х5, 10х7
    помогите кто может!
     
  9. by_nikita

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    Крутые вы,респект Ван
     
  10. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    uhctuhkt
    2)В одномерном массиве, состоящем из вещественных элементов, вычислить:
    Code:
    float x[10];
    for(int i=0;i<10;i++)
    {
    	cout<<"Input x["<<i<<"]=";
    	cin>>x[i];
    }
    
    A) количество пар x и x[i+1], таких, что x< x[i+1]
    Code:
    int k=0;
    for(int i=0;i<10;i++)
    	if(x[i]<x[i+1]) k++
    cout<<"\n Kolichestvo par="<<k;
    
    Б) произведение элементов массива, расположенных после последнего нулевого элемента.
    Code:
    //находим индекс последнего нуля
    int index;
    for(int i=0;i<10;i++)
    	if(x[i]==0) index=i;
    //вычисляем произведение
    float pr=1;
    for(int i=index+1;i<10;i++)
    	pr*=x[index];
    cout<<"\n Proizvedenie ="<<pr;
    
    В)Заменить все отрицательные элементы максимальными
    Code:
    //находим максимальный элемент
    float max=x[0];
    for(int i=0;i<10;i++)
    	if(x[i]>max) max=x[i];
    //заменяем отрицательные на максимальный
    for(int i=0;i<10;i++)
    	if(x[i]<0) x[i]=max;
    
    Г) отсортировать массив методом обмена (насколько я понял это простая линейная сортировка)
    Code:
    float k;
    for(int i=0;i<10;i++)
    	if(x[i]>x[i+1])
    	{
    		k=x[i];
    		x[i]=x[i+1];
    		x[i+1]=k;
    	}
    
     
  11. eregis

    eregis Member

    Joined:
    15 Jul 2010
    Messages:
    104
    Likes Received:
    5
    Reputations:
    -5
    помогите решить задачу, в качестве благодарности 1 голос вконтакте ну или 10 wmr
    собственно задача
    [​IMG]
     
  12. Mayor16

    Mayor16 Member

    Joined:
    23 Oct 2010
    Messages:
    107
    Likes Received:
    24
    Reputations:
    6
    for(int i=0; i<lengthstr; i++)
    {
    if(((int)pass>=97 && (int)pass<=122) || ((int)pass>=65 && (int)pass<=90))
    {
    if((1+(int)pass==(int)pass[i+1] && 2+(int)pass==(int)pass[i+2]) && i<=lengthstr-2)
    marks-=(1*3);
    if(((int)pass-1==(int)pass[i-1] && (int)pass-2==(int)pass[i-2]) && i>=2)
    marks-=(1*3);
    }
    }


    может кто найдет здесь ошибку.....а то я завис...
     
  13. PAXAn

    PAXAn Elder - Старейшина

    Joined:
    14 Jun 2008
    Messages:
    43
    Likes Received:
    3
    Reputations:
    0
    Mayor16
    а что именно оно должно делать?
    ЗЫ если ошибка это выход за предела массива то имеет смысл поменять условие местами и написать


    а
    не


    и со вторым условием так же...так как у тебя сначала идет обращение к елементу а потом ты проверяешь вышел ли за границы. а надо наоборот сначала проверку и чтобы если вышел то оно назначалось в false и дальше условие не проверяло;-)
    надеюсь ты понял что я хотел сказать
     
  14. Oven

    Oven New Member

    Joined:
    18 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Помогите, пожалуйста.
    Подскажите,пожалуйста, ту самую заветную строчку которая преобразует введенный текст.


    Если кому-то понадобиться подобное задание, вот примерный код помогли написать:
     
    #3134 Oven, 6 Dec 2010
    Last edited: 6 Dec 2010
  15. A1exx

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    7. Выполнить генерацию K случайных перестановок путем
    обмена элементов. В качестве начальной перестановки выбрать
    M-ю в лексикографическом порядке.
    Помогите пожалуйста...не могу сделать ((( заранее оч большое спасибо!...язык Паскаль
     
  16. Oftogen

    Oftogen New Member

    Joined:
    6 Dec 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите написать программу в Lazarus

    Привет всем. Напишите пожалуйста программу секундомер в Lazarus.
    Вообщем нужно чтобы был круг и секундная стрелка бегала как у часов...
     
  17. SophiaOctobe

    SophiaOctobe New Member

    Joined:
    7 Dec 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Написать программу, изображающую увеличивающуюся кедровую шишку на ветке. Исходными данными задачи являются размеры и первоначальное положение шишки на экране.

    Помогите совсем не понимаю как это можно нарисовать((( Немного болела и пропустла лекции по вижуал... а это задание у нас как допуск к экзамену.... Мне знакомые сказали что здесь могут помочь, не оставьте без внимания мой вопросик))))
     
  18. AniChe42

    AniChe42 New Member

    Joined:
    24 Jan 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    задание: ввести последовательность 7-ми целых чисел и поменять местами 5-й и 1-й элемент.

    Ребята помогите, не могу разобраться с этой программой, препод полный козел и нефига не объясняет сам уже долго не могу с ней разобраться, программу нужно написать в C++ Builder 6.0 с помощью компонентов Memo1,Memo2. ( препод не только козел но и олдскульщик, так что без новаций )

    Заранее Благодарен!

    вот попытался сам чет написать, но программа не выполняет нужное решение.
     
  19. sToryTeller

    sToryTeller New Member

    Joined:
    28 Nov 2010
    Messages:
    12
    Likes Received:
    3
    Reputations:
    0
    1. зачем конст объявлять n=7 а потом массив создавать,не проще ли сразу с опр значением.
    2.c=A[0];
    A[0]=A[4];
    A[4]=c;
    здесь собсно вся соль,создай событие при нажатии кнопки смену собсно всё.

    сам просто в данный момент прохожу чистый C,но тут процедура эт зачем?не рационально,объём программы увеличивается )) на асме меня бы за это уже изнасиловали )))
     
    #3139 sToryTeller, 7 Dec 2010
    Last edited: 7 Dec 2010
  20. jaevg

    jaevg New Member

    Joined:
    7 Dec 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    структуры c++

    Вот надобно по примеру сделать лабу по заданию
    пример:
    HTML:
    #include <stdio.h>
     #include <string.h>
     #include <windows.h>
     #include <conio.h>
     #include <iostream>
     using namespace std;
    
     char bufRus[256];
      char* Rus(char* mes)
      { AnsiToOem(mes, bufRus);
        return bufRus;
       }
    
    const int l_name = 30;
    
     struct Man
      { char name[l_name];
    	int birth_year;
    	float pay;
      };
    
    int compare(const void *manl, const void *man2);
    
    // Создание файла
    
    void create()
    { Man man; int pr; FILE *fbin;
      if ((fbin =fopen("dbase.bin","wb")) == NULL)
       { puts(Rus("Ошибка создания  файла\n "));
       getch();
       }
      else
    	{ do
    	   { cout << Rus("\n Фамилия и инициалы: ");
    		 cin.get() ; gets (man.name) ;
    		 cout << Rus("\n Год рождения: ");
    		 cin >> man.birth_year;
    		 cout << Rus("\n Оклад: ");
    		 cin >> man.pay;
    		 fwrite(&man, sizeof(man),1,fbin);
    		 cout<<Rus("\n Продолжить ввод? (1-да/0-нет)");
    		 cin >> pr;
    		 } while(pr == 1);
       }  
      fclose(fbin);
    }
    
    // Просмотр файла
     
    void view()
      { FILE *fbin;
    	if ((fbin =fopen("dbase.bin","rb")) == NULL)
    	 { puts(Rus("Ошибка открытия  файла\n"));
    	   getch();
    	 }
    	else
    	 { fseek(fbin, 0, SEEK_END);
    	   int n_record = ftell(fbin)/sizeof(Man);
    	   Man *man = new Man[n_record];
    	   fseek(fbin, 0, SEEK_SET);
    	   fread(man, sizeof(Man),n_record, fbin);
    	   fclose(fbin);
    	   qsort(man, n_record, sizeof(Man), compare);
    	   for (int i=0; i < n_record; i++)
    		cout << "\n" << man[i].name << "  " <<
    		 man[i].birth_year << "  " << man[i].pay;
    		cout << "\n";
    		getch();
    	 }
      }
    
    // Обработка файла
     
     void work()
      { char z_name[l_name];
    	FILE *fbin;
    	if ((fbin =fopen("dbase.bin","rb")) == NULL)
    	 { puts(Rus("Ошибка открытия  файла\n"));
    	   getch();
    	 }
    	else
    	 { fseek(fbin, 0, SEEK_END);
    	   int n_record = ftell(fbin)/sizeof(Man);
    	   Man *man = new Man[n_record];
    	   fseek(fbin, 0, SEEK_SET);
    	   fread(man, sizeof(Man),n_record, fbin);
    	   fclose(fbin);
    	   qsort(man, n_record, sizeof(Man), compare);
    cout<<Rus("\nВведите фамилию и инициалы сотрудника:");
    	   cin.get();gets(z_name);
    	   for (int i=0; i < n_record; i++)
    	   { if (!strcmp(man[i].name,z_name))
    		  cout <<  "\n" << man[i].name << "  " <<
    		   man[i].birth_year << "  " << man[i].pay;
    	   }
    	   cout << "\n";
    	   getch();
    	 }
     }
    
    int main()
     { int num;
       do
    	{ cout << Rus("\n 1 - Создание файла");
    	  cout << Rus("\n 2 - Просмотр файла");
    	  cout << Rus("\n 3 - Обработка файла");
    	  cout << Rus("\n 4 - Выход");
    	  cout << Rus("\n Ваш выбор: ");
    	  cin >> num;
    	  switch(num)
    	   { case 1: create();break;
    		 case 2: view();break;
    		 case 3: work();break;
    	   }
    	} while (num != 4);
       return 0;
    }
    
    int compare(const void *manl, const void *man2)
    { 
       return strcmp(((Man *)manl)->name,
    ((Man *)man2)->name);
     }
    по заданию
    Информация о сотрудниках фирмы содержит: Ф. И. О. сотрудника, табельный номер, количество отработанных часов за месяц, почасовой тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Для описания информации о сотрудниках фирмы в программе необходимо использовать тип данных структура. Для хранения информации о сотрудниках фирмы создать бинарный файл, ориентированный на тип данных структура. Предусмотреть в программе просмотр бинарного файла и выполнить его обработку: вывести размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога, который составляет 13% от суммы заработка. Информацию отсортируйте.
     
Thread Status:
Not open for further replies.