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

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

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

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Пример №6
    PHP:
    var
     
    i,j:integer;
     
    begin
      j
    :=0;
      
    i:=20;
       while 
    i<100 do
        
    begin
          
    if i mod 3 0 then
            j
    :=j+i;
          
    inc(i);
        
    end;
       
    write('Rezultat = ',j);
       
    readln;
     
    end.
    Пример №5
    PHP:
    var
     
    i,j:integer;
     
    begin
      j
    :=0;
      
    i:=1;
       while 
    i<200 do
        
    begin
          
    if i mod 2 <> 0 then
            j
    :=j+i;
          
    inc(i);
        
    end;
       
    write('Rezultat = ',j);
       
    readln;
     
    end.
    Пример №4
    PHP:
    var A:array [1..15of real;
     
    i:integer;
     
    j:real;
     
    begin j:=0;
      for 
    i:=1 to 15 do
       
    begin
        write
    ('Vvedite element masiva # ',i,' ');
        
    readln(A[i]);
         if 
    A[i]>0 then
         j
    :=j+A[i]
       
    end;
     
    Write('Otvet = ',j:1:1);
     
    readln;
     
    end.
    Пример №3
    PHP:
    var
     
    i,j:integer;
     
    begin
      j
    :=0;
      
    i:=1;
       
    repeat
        begin
          
    if i mod 2 0 then
            j
    :=j+i;
          
    inc(i);
        
    end;
       
    until i>100;
       
    write('Rezultat = ',j);
       
    readln;
     
    end.
    Пример №2
    PHP:
    var i,j:integer;
     
    begin
      j
    :=0;
      
    i:=1;
       
    repeat
        begin
          
    if i mod 4 0 then
            j
    :=j+i;
          
    inc(i);
        
    end;
       
    until i>100;
       
    write('Rezultat = ',j);
       
    readln;
     
    end.
    Пример №1
    PHP:
    var
     
    A:array [1..12of real;
     
    i:integer;
     
    j:real;
     
    begin j:=0;
      for 
    i:=1 to 12 do
       
    begin
        write
    ('Vvedite element masiva # ',i,' ');
        
    readln(A[i]);
       if (
    i mod 2 <>0) and (A[i]>0then
         j
    :=j+A[i];
       
    end;
     
    Write('Otvet = ',j:1:1);
     
    readln;
     
    end.
     
    Не совсем уверен в заданиях с массивами, смущает слово "константа". Работает вроде норм , но я б на твоём месте перепроверил :D
     
    #3501 shadowrun, 9 Jun 2011
    Last edited: 9 Jun 2011
  2. NaRK

    NaRK New Member

    Joined:
    13 Apr 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Может кто нить поможет студенту написать программу на c++ или хотя бы написать алгоритм для решения это задачи:
     
  3. Midsummer

    Midsummer New Member

    Joined:
    12 Nov 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! Помогите написать 3 программмы на C++ на задачи с двумерными массивами

    1. Дана матрица размера M x N. Вывести ее элементы, расположенные в строках с четными номерами (2, 4, …). Вывод элементов производить по строкам, условный оператор не использовать
    2. Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1)
    3. Дана матрица размера M x N. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы (при этом поменяются местами строки с номерами 1 и M, 2 и M – 1 и т. д.)
    Надеюсь на вашу помощь и поддержку.
     
  4. f0b0s

    f0b0s Member

    Joined:
    26 May 2011
    Messages:
    6
    Likes Received:
    8
    Reputations:
    1
    Работа с файлами и строками.



    Написать программу, которая считывает текст из файла и выводит на экран только предложения, заключенные в кавычки.

    #include <iostream>
    #include <fstream>

    using namespace std;



    bool Test (char *str)

    {
    *str == '"';

    return true;
    return false;
    }

    int main (void)
    {
    FILE *pf; // указатель на файл с текстом
    char buffer[200]; // буфер для хранения считанной строки

    pf = fopen ("data.txt", "r"); // открываем файл для чтения
    if (!pf) // если не удалость открыть
    { // сообщаем об ошибке
    printf ("No file");

    return 0;
    }
    while (!feof (pf)) // цикл до конца файла
    {

    fscanf (pf, "%s", buffer); // считываем очередное слово

    (Test (buffer)) printf ("%s ", buffer));

    }
    fclose (pf); // закрываем файл

    cin.get();
    }

    вот код но я не пойму как мне выполнить задание
     
  5. Vollkorn

    Vollkorn Member

    Joined:
    6 Nov 2010
    Messages:
    86
    Likes Received:
    15
    Reputations:
    -6
    Если что поменяешь немного цифры в циклах
    Code:
    #include <iostream>
    using namespace std;
    int main()
    {
        int m,n,i,j;
        cout << "Enter M: ";
        cin >> m;
        cout << "Enter N: ";
        cin >> n;
        
        int matrix[m][n];
        
        cout << "Enter the matrix: " << endl;
        for(i=0;i<m;i++)
        {
          for(j=0;j<n;j++)
          cin >> matrix[i][j];
        }
            
        for(i=0;i<n;i+=2)
        {
          for(j=0;j<m;++j)
          {
            cout << matrix[i][j+i];
          }
          cout << endl;
        }   
        
        return 0;
    }
    
    
     
  6. Vollkorn

    Vollkorn Member

    Joined:
    6 Nov 2010
    Messages:
    86
    Likes Received:
    15
    Reputations:
    -6
    Как вариант, можно эти числа перевести в десятичные, а потом просто..
    Code:
        int func(int a, int b)
        {
          int c;
          while (c = a % b)
          {
            a = b; b = c;
          }
          return b;
        }
     
  7. Avensis

    Avensis New Member

    Joined:
    12 May 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Немного индусизм, но работает.

    Code:
    #include <iostream>
    
    using namespace std;
    
    void main(void) {
    	int M;
    
    	cout << "Enter M:" << endl;
    	cin >> M;
    
    	int **matrix=new int*[M];
    	for(int i = 0; i < M; i++)
    		matrix[i]=new int[M];
    
    	cout << "Enter the matrix: " << endl;
    	for(int i = 0; i < M; i++)
    	{
    		for(int j = 0; j < M; j++)
    		cin >> matrix[i][j];
    	}
    	
    
    	for (int i = 0; i < M; i++) {
    		for (int j = 0; j < M; j++)
    			cout << matrix[i][j] << " ";
    		cout << endl;
    	}
    
    	cout << endl << endl;
    
    	for (int i = 0; i < M; i++) {
    		int m = i,n = 0;
    		int sum = 0;
    		while (m < M && n < M && m >= 0 && n >= 0) {
    			sum += matrix[m--][n++];
    		}
    		cout << (double)sum/(double)(i+1) << endl;
    	}
    
    	for (int j = 1; j < M; j++) {
    		int m = M-1,n = j;
    		int sum = 0;
    		while (m < M && n < M && m >= 0 && n >= 0) {
    			sum += matrix[m--][n++];
    		}
    		cout << (double)sum/(double)(M-j) << endl;
    	}
    }
    
     
  8. Avensis

    Avensis New Member

    Joined:
    12 May 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Не лучший способ, но рабочий. Будет совсем хорошо, если менять местами указатели на строки массива.

    Code:
    
    #include <iostream>
    
    using namespace std;
    
    void main(void) {
    	int M,N;
    
    	cout << "Enter M:" << endl;
    	cin >> M;
    	cout << "Enter N:" << endl;
    	cin >> N;
    
    	int **matrix=new int*[M];
    	for(int i = 0; i < M; i++)
    		matrix[i]=new int[M];
    
    	cout << "Enter the matrix: " << endl;
    	for(int i = 0; i < M; i++)
    	{
    		for(int j = 0; j < N; j++)
    		cin >> matrix[i][j];
    	}
    
    	for (int i = 0; i < M / 2; i++) {
    		for (int j = 0; j < N; j++) {
    			int temp;
    			int n = M-i-1;
    			temp = matrix[i][j];
    			matrix[i][j] = matrix[n][j];
    			matrix[n][j] = temp;
    		}
    	}
    }
    
     
  9. Avensis

    Avensis New Member

    Joined:
    12 May 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Code:
    #define BUFFER_SIZE 200
    
    #include <stdio.h>
    #include <conio.h>
    #include <memory.h>
    
    int main (void)
    {
    	FILE *pf;
    	char symbol;
    	char buffer[BUFFER_SIZE];
    	bool inside = false;
    
    	pf = fopen ("data.txt", "r");
    	if (!pf)
    	{
    		printf ("No file");
    		return 0;
    	}
    
    	int counter = 0;
    	memset(&buffer, 13, BUFFER_SIZE);
    	while (!feof (pf))
    	{
    		fscanf (pf, "%c", &symbol);
    		if (inside) {
    			if (symbol == '"') {
    				for (int i = 0; i < BUFFER_SIZE; i++) {
    					if (buffer[i] != 13)
    						printf("%c", buffer[i]);
    				}
    				printf("\n");
    				memset(&buffer, 13, BUFFER_SIZE);
    				inside = false;
    				continue;
    			}
    			if (counter < BUFFER_SIZE)
    				buffer[counter++] = symbol;
    			else {
    				printf("error"); 
    				return -1;
    			}
    		} else {
    			if (symbol == '"') {
    				inside = true;
    				continue;
    			}			
    		}
    	}
    	fclose (pf);
    
    	while(!kbhit());
    }
    
     
  10. Vollkorn

    Vollkorn Member

    Joined:
    6 Nov 2010
    Messages:
    86
    Likes Received:
    15
    Reputations:
    -6
    Зачем всё так усложнять?

    Code:
    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    //-----------------------------
    int m,i,j,sum=0;
    //-----------------------------
    int main()
    {
    	 cout << "Введите M: "
         cout << "Введите " << m << " по " << m << " чисел" << endl;
         for (i=0; i<6; i++)
         for(j=0;j<6; j++)
         cin >> a[i][j];
    	 
    	 cout << "Матрица А:" << endl;
         for(i=0; i<6; i++)
         {
          for(j=0;j<6; j++)
          cout << a[i][j] << " ";
          cout << endl;
         }
    	 
    	 for (i=0;i<6;i++)
         {
             sum+=a[i][i];
         }
         
         cout << "Сумма = " << sum << endl;
    	 
    	 system("pause");
    
    	 return 0;
    }
     
  11. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Требуется выполнить на паскале:
    [​IMG][​IMG]
    В голову ничего не лезет и из-за криворукости сам сделать не могу, заранее благодарен. (Огромная просьба скинуть в ПМ)

    з.ы.: размерность матрицы задается пользователем, но она не может быть больше 99. все элементы матрицы рандомные
     
  12. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    скинул в личку по первой части
     
    1 person likes this.
  13. Alex256x

    Alex256x New Member

    Joined:
    26 Sep 2009
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Помогите пожалуйста сделать задачку в Турбо Паскале. Так-то нужно сделать 11 задач, 7 уже сделал, думаю, что не успею до завтра. А зачет получать-то надо))
    С остальными, думаю, справлюсь)

    Составить схему алгоритма и программу вычисления произведений положительных элементов массива C [1..N,1..M]. Исходные данные и результат выдать на печать.


    Заранее спасибо за помощь!
     
  14. WillRock22

    WillRock22 New Member

    Joined:
    23 Mar 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Хелп. Delphi игра лиса и 20 кур
     
  15. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    подробнее....
     
  16. nebro

    nebro New Member

    Joined:
    10 Feb 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Среда Matlab
    Помогите, пожалуйста, написать алгоритм, который по критерию удаляет фигуры с картинки.
    Программа делает маркировку, и нужно удалить какой-то класс, но я не знаю как.
    Оставляя лишь фигуры у которых 4 угла, т.е. прямоугольники, ромбики, квадраты.
    программа и картинка в архиве download
     
  17. P.A.U.L

    P.A.U.L New Member

    Joined:
    12 Aug 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Парни, подскажите плиз кто в этом шарит. Язык Java, но не в этом суть.

    Как правильно написать условие принадлежности точек заданной области.

    Вот задана область(черным цветом выделена)

    [​IMG]

    Необходимо написать условие, при котором, когда заданные точки находятся в этой области то возвращается значение "+", если вне этой области, то возвращается значение "-".

    Уже есть наработки:

    PHP:
        public String valid(double x,double y){
                    
                    
    double alpha=0.0;
            
    double xa=Math.abs(Math.round(x*Math.cos(alpha/180.0*Math.PI)+y*Math.sin(alpha/180.0*Math.PI)));
            
    double ya=Math.abs(Math.round(y*Math.cos(alpha/180.0*Math.PI)-x*Math.sin(alpha/180.0*Math.PI)));
            
    double v=5.5;
        
            if(
    xa<=&& ya<=v){    
                    return 
    "+";
            }
            else return 
    "-";
        }
    В этой реализации рассматривается область, квадрат 5.5 x 5.5, а как добавить в рассмотрение вырезанную область по углам квадрата? (Радиус вырезанной области равен 5, цена деления графика = 30px)

    Это координаты точек:

    PHP:
        public double xtable[]={1.0, -3.0, -7.07.16.01.0, -4.02.1};
        public 
    double ytable[]={2.0, -3.01.0, -2.12.46.3, -1.0,-3.0};
    А вот так вывожу принадлежность точек

    PHP:
    g.drawString(valid(xtable[i],ytable[i]),220,55+i*30);
    Заранее благодарю за помощь;)
     
    #3517 P.A.U.L, 16 Jun 2011
    Last edited: 16 Jun 2011
  18. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    задача должна обязательно содержать математику?
    лично я бы копнул в сторону Area, GeneralPath, area.contains(point)
     
  19. P.A.U.L

    P.A.U.L New Member

    Joined:
    12 Aug 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Не обязательно должно содержать математику.
    А в Area, GeneralPath, area.contains(point) я не особо шарю.

    Может сможешь показать как это будет реализовано?)

    З.Ы. Уточню, радиус там равен не 5, а 2.5

    Все, уже не актуально, добрые люди помогли.

    Вот решение:
    PHP:
        public boolean inArea(double xdouble y)
        {
            if ((
    Math.abs(x) <= 5.5) && (Math.abs(y) <= 5.5) && // проверка на принадлежность квадрату
                
    (Math.pow(5.52) + Math.pow(5.52) > 6.25)) // проверка на НЕпринадлежность кругам
                
    return true// т.е. "+"
            
    else return false// т.е. "-"
        
    }
     
    #3519 P.A.U.L, 16 Jun 2011
    Last edited: 17 Jun 2011
  20. funbuff

    funbuff New Member

    Joined:
    26 Oct 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Подскажите как организовать перевод строки символов в шестнадцатеричный или двоичный код. Язык С++.
     
Thread Status:
Not open for further replies.