День в истории - 20 февраля

2010 год. "Барселона" проводит сотый матч под руководством Хосепа Гвардиолы. В рамках 23-го тура испанского чемпионата каталонская команда разгромила на "Камп Ноу" сантандерский "Расинг" - 4:0. Андрес Иниеста провел 300-ю игру в составе "Барсы", а Тьяго Алькантара забил свой дебютный гол.
Со дня этого события прошло 15 лет

 

Вернуться   Форум > Разное > Кулес > Hi-tech
Имя
Пароль

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2012 в 21:05 Цитата выделенного #81
Catala
Ленивый webmaster
Аватар для Catala
 
Регистрация: 28.04.2006
Сообщения: 10,312
Сказал(а) спасибо: 317
Поблагодарили: 15,021 раз(а) в 5,206 сообщениях
Деньги: 878076$
 
По умолчанию

PHP код:
#include <conio.h>
#include <stdio.h>
void main()
{

    
int x
 
    for(
10<= 99x++)
    {
        if (((
10) * (10) + (10) * (10)) % 13 == 0)
        {
            
printf("x = %d\n"x);
        }
    }
     
    
getch();

__________________
Не ошибается тот - кто не думает.(C)RIVALDO
Offline   Ответить с цитированием
Сказал(а) спасибо:
К@t@LoNeЦ (15.03.2012)
Старый 16.03.2012 в 18:42 Цитата выделенного #82
К@t@LoNeЦ
Ells ho tenen tot...
pero aixo no es suficient
Аватар для К@t@LoNeЦ
 
Регистрация: 12.11.2009
Сообщения: 1,527
Сказал(а) спасибо: 2,161
Поблагодарили: 2,099 раз(а) в 689 сообщениях
Деньги: 2766$
 
По умолчанию

Вот еще проблема с задачей (рс.1)

Т.е, проще говоря, если я ввиду n=5 , то вот что должно получиться (рс.2)

Как это мне записать?

заготовка и ошибка (рс.2)
Изображения
Тип файла: jpg 1.jpg (29.0 Кбайт, 14 просмотров)
Тип файла: jpg 2.jpg (95.0 Кбайт, 7 просмотров)
__________________

Последний раз редактировалось К@t@LoNeЦ, 16.03.2012 в 18:53.
Offline   Ответить с цитированием
Старый 16.03.2012 в 18:53 Цитата выделенного #83
Catala
Ленивый webmaster
Аватар для Catala
 
Регистрация: 28.04.2006
Сообщения: 10,312
Сказал(а) спасибо: 317
Поблагодарили: 15,021 раз(а) в 5,206 сообщениях
Деньги: 878076$
 
По умолчанию

PHP код:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()
{
    
float result 0;
    
int i;
    
int n;

    
printf("Input a number: ");
    
scanf("%d", &n);

    for(
0ni++)
    {
        
result sqrt(result 2);
    }

    
printf("The result is %f"result);

    
getch();

Offline   Ответить с цитированием
Сказал(а) спасибо:
К@t@LoNeЦ (16.03.2012)
Старый 16.03.2012 в 18:57 Цитата выделенного #84
К@t@LoNeЦ
Ells ho tenen tot...
pero aixo no es suficient
Аватар для К@t@LoNeЦ
 
Регистрация: 12.11.2009
Сообщения: 1,527
Сказал(а) спасибо: 2,161
Поблагодарили: 2,099 раз(а) в 689 сообщениях
Деньги: 2766$
 
По умолчанию

Catala, уф , спасибо огромное, мне бы тока одной строчки хватило
Offline   Ответить с цитированием
Старый 13.04.2012 в 18:43 Цитата выделенного #85
К@t@LoNeЦ
Ells ho tenen tot...
pero aixo no es suficient
Аватар для К@t@LoNeЦ
 
Регистрация: 12.11.2009
Сообщения: 1,527
Сказал(а) спасибо: 2,161
Поблагодарили: 2,099 раз(а) в 689 сообщениях
Деньги: 2766$
 
По умолчанию

Дан массив целых чисел размерности n. Все элементы массива с четными номерами, предшествующие первому максимальному элементу, умножить на максимальный

Предпоследний цикл считает до бесконечности.
В чем ошибка?

PHP код:
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{
    
    
int max,n,k,i;
    
printf("vvedite razmernost ");
    
scanf_s("%d",&n);
    
int *mass = new int[n];
    
delete[]mass;
    

    for (
i=1;i<=n;i++)   
    {
          
printf("vveite chislo ");
          
scanf_s("%d",&mass[i]);
    }

    
max=mass[1];
    
k=1;
    
    for (
i=2;i<=n;i++)
      {
          if (
mass[i]>max)
             { 
                 
max=mass[i];
                 
k=i;
             }
          
      }

    for (
i=1;1<=k;i++)
    {
        if (
32000%i==0)
             {
                 
mass[i]=mass[i]*max;
             }
    }

    for (
i=1;1<=n;i++)
    {
        
printf("mass[i] =%lf",mass[i]);
    }

    
getch();

Offline   Ответить с цитированием
Старый 13.04.2012 в 18:55 Цитата выделенного #86
GERONIMO
Аватар для GERONIMO
 
Регистрация: 12.07.2009
Сообщения: 2,399
Сказал(а) спасибо: 1,395
Поблагодарили: 3,008 раз(а) в 1,091 сообщениях
Деньги: 63077$
 
По умолчанию

Цитата:
Сообщение от К@t@LoNeЦ
printf("vveite*chislo*");

Я ничего не смыслю в программировании, но тут ты пропустил букву :"d"
__________________
Мой отец рассказывал мне о Марадоне, а я своему сыну буду рассказывать о Месси" (с)

Если игроки вдруг начнут понимать, что хочет от них Гвардиола в мире наступит всеобщая гармония, а футбол можно будет отменять (c)
Offline   Ответить с цитированием
Старый 13.04.2012 в 19:06 Цитата выделенного #87
Catala
Ленивый webmaster
Аватар для Catala
 
Регистрация: 28.04.2006
Сообщения: 10,312
Сказал(а) спасибо: 317
Поблагодарили: 15,021 раз(а) в 5,206 сообщениях
Деньги: 878076$
 
По умолчанию

Во-первых, массивы идут от 0 до n-1. Обращение к элементу n должно вызывать access violation. Во-вторых, память освобождается в самом начале программы, то есть вся работа ведется без выделенной памяти. Это еще до того, как вникнуть в алгоритм, который выглядит странно. Как собственно и задача. Что такое "первый максимальный элемент"? Если есть несколько одинаковых элементов, которые являются максимумом, нужен с минимальным индексом?
Offline   Ответить с цитированием
Сказал(а) спасибо:
К@t@LoNeЦ (13.04.2012)
Старый 13.04.2012 в 19:17 Цитата выделенного #88
К@t@LoNeЦ
Ells ho tenen tot...
pero aixo no es suficient
Аватар для К@t@LoNeЦ
 
Регистрация: 12.11.2009
Сообщения: 1,527
Сказал(а) спасибо: 2,161
Поблагодарили: 2,099 раз(а) в 689 сообщениях
Деньги: 2766$
 
По умолчанию

Цитата:
Сообщение от Catala
Во-первых, массивы идут от 0 до n-1.
Необязательно.Я ввожу, начиная с mass[1].Ведь в for сначала идет присвоение элемента ,а потом увеличение номера элемента

Цитата:
Сообщение от Catala
Обращение к элементу n должно вызывать access violation.
В первый раз слышу.Всегда работал без него.

Цитата:
Сообщение от Catala
Это еще до того, как вникнуть в алгоритм, который выглядит странно.
какой именно? предпоследний?



В предпоследнем цикле сначала было "if (i%2==0)",что правильнее при определении четности\нечетности, но проблема в том, что i должно быть целочисленным, поэтому решил пойти от обратного:
по идее если i - четное, то он должен делить без остатка 32000 ( к примеру)

Последний раз редактировалось К@t@LoNeЦ, 13.04.2012 в 19:24.
Offline   Ответить с цитированием
Старый 13.04.2012 в 19:28 Цитата выделенного #89
Catala
Ленивый webmaster
Аватар для Catala
 
Регистрация: 28.04.2006
Сообщения: 10,312
Сказал(а) спасибо: 317
Поблагодарили: 15,021 раз(а) в 5,206 сообщениях
Деньги: 878076$
 
По умолчанию

Цитата:
Сообщение от К@t@LoNeЦ
Необязательно.Я ввожу, начиная с mass[1].Ведь в for сначала идет присвоение элемента ,а потом увеличение номера элемента
Интересно вас учат. Объясняю. Допустим массив начинается в адресе 1000. Когда ты делаешь new int[5] операционная система выделяет тебе сплошной блок памяти размеров в 20 байт(int 4 байта). mass[i] это то же самое, что *(mass + (4 * i)). Поэтому обращение к mass[5] это обращение к адресу 1020, которое тебе не принадлежит. И не имеет никакого значения как ты вводишь элементы. Ввод элементов это не выделение памяти, а запись данных в уже выделенную. В C всегда массив начинается с нуля. Если ты хочешь использовать n элементов начиная с 1, то в new нужно давать n+1. Ты же вообще делаешь в начале delete, что освобождает память и для тебя она не существует, а потом обращаешься к памяти которая не была твоей даже до этого освобождения.

Переменная k тебе не нужна. В условии второго пробега достаточно mass[i] < max. Ну и у тебя слева в условии цикла 1 вместо i. 32000 очень надеюсь нужно только для проверки.
Offline   Ответить с цитированием
Сказал(а) спасибо:
К@t@LoNeЦ (13.04.2012)
Старый 13.04.2012 в 19:43 Цитата выделенного #90
К@t@LoNeЦ
Ells ho tenen tot...
pero aixo no es suficient
Аватар для К@t@LoNeЦ
 
Регистрация: 12.11.2009
Сообщения: 1,527
Сказал(а) спасибо: 2,161
Поблагодарили: 2,099 раз(а) в 689 сообщениях
Деньги: 2766$
 
По умолчанию

Цитата:
Сообщение от Catala
Переменная k тебе не нужна.
как мне тогда без k номер максимального элемента то узнать?

Цитата:
Сообщение от Catala
Ну и у тебя слева в условии цикла 1 вместо i
не понял, где именно?


Цитата:
Сообщение от Catala
Интересно вас учат. Объясняю. Допустим массив начинается в адресе 1000. Когда ты делаешь new int[5] операционная система выделяет тебе сплошной блок памяти размеров в 20 байт(int 4 байта). mass[i] это то же самое, что *(mass + (4 * i)). Поэтому обращение к mass[5] это обращение к адресу 1020, которое тебе не принадлежит. И не имеет никакого значения как ты вводишь элементы.

int *mass = new int[n];
delete[]mass;

может и так, только нам пока так говорят заполнять динаический массив
Offline   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей - 0 , гостей - 3)
 

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.
Быстрый переход



20 февраля 2025 года. Четверг - 23:33 (Часовой пояс GMT +4).