nclude <iostream>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <iterator>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
#include <string>
#include <sstream>
#include <complex>
#include <limits>
#include <cctype
Para crear una interfaz gráfica en Python que muestre la tabla de productos vencidos de la tabla inventario, podemos utilizar la biblioteca `tkinter` para crear la interfaz y `sqlite3` para interactuar con la base de datos. A continuación, te muestro un ejemplo de cómo podrías hacerlo:
```python
import tkinter as tk
from tkinter import ttk
import sqlite3
# Conectar a la base de datos
conn = sqlite3.connect('inventario.db')
cursor = conn.cursor()
# Crear la tabla inventario si no existe
cursor.execute('''
CREATE TABLE IF NOT EXISTS inventario (
id INTEGER PRIMARY KEY,
nombre_producto TEXT,
fecha_vencimiento DATE,
cantidad INTEGER,
sucursal TEXT
)
''')
# Función para obtener los productos vencidos
def obtener_productos_vencidos():
cursor.execute('''
SELECT * FROM inventario
WHERE fecha_vencimiento < DATE('now')
''')
productos_vencidos = cursor.fetchall()
return productos_vencidos
# Función para crear la tabla en la interfaz
def crear_tabla():
for widget in tabla_frame.winfo_children():
widget.destroy()
productos_vencidos = obtener_productos_vencidos()
if productos_vencidos:
columnas = ['ID', 'Nombre Producto', 'Fecha Vencimiento', 'Cantidad', 'Sucursal']
tree = ttk.Treeview(tabla_frame, columns=columnas, show='headings')
for columna in columnas:
tree.heading(columna, text=columna)
for producto in productos_vencidos:
tree.insert('', 'end', values=producto)
tree.pack(fill='both', expand=True)
else:
label = ttk.Label(tabla_frame, text='No hay productos vencidos')
label.pack(fill='both', expand=True)
# Crear la interfaz
root = tk.Tk()
root.title('Productos Vencidos')
tabla_frame = ttk.Frame(root)
tabla_frame.pack(fill='both', expand=True)
boton = ttk.Button(root, text='Actualizar tabla', command=crear_tabla)
boton.pack(fill='x')
crear_tabla()
root.mainloop()
# Cerrar la conexión a la base de datos
conn.close()
```
En este ejemplo, creamos una interfaz con un botón que, cuando se presiona, actualiza la tabla con los productos vencidos de la base de datos. La tabla se muestra en un frame dentro de la interfaz principal.
Recuerda que debes crear una base de datos llamada `inventario.db` en el mismo directorio que el script, y que la tabla `inventario` debe tener las columnas `id`, `nombre_producto`, `fecha_vencimiento`, `cantidad` y `sucursal`.
function isPrime(num) {
if (num === 2) {
return true;
} else if (num > 1) {
for (var i = 2; i < num; i++) {
if (num % i !== 0) {
return true;
}
}
}
return false;
}
console.log(isPrime(10))
El problema que estás experimentando se debe a que el archivo CSV no está siendo leído correctamente. Hay varias razones por las que esto podría estar sucediendo, pero te voy a proporcionar algunas posibles soluciones.
**Solución 1: Leer el archivo CSV con `pandas`**
Puedes utilizar la biblioteca `pandas` para leer el archivo CSV. Asegúrate de que tengas instalada la biblioteca `pandas` ejecutando el comando `pip install pandas` en tu terminal.
```python
import pandas as pd
# Leer el archivo CSV
df = pd.read_csv('tu_archivo.csv', sep=';')
# Verificar las columnas
print(df.columns)
```
**Solución 2: Leer el archivo CSV con `csv`**
Puedes utilizar la biblioteca `csv` para leer el archivo CSV. Asegúrate de que tengas instalada la biblioteca `csv` ejecutando el comando `pip install csv` en tu terminal.
```python
import csv
# Leer el archivo CSV
with open('tu_archivo.csv', 'r') as archivo:
reader = csv.reader(archivo, delimiter=';')
columnas = next(reader)
print(columnas)
```
**Solución 3: Verificar el formato del archivo CSV**
Asegúrate de que el archivo CSV tenga el formato correcto. El archivo CSV debe tener una línea de encabezado con los nombres de las columnas, seguido de las filas de datos.
**Solución 4: Verificar el separador del archivo CSV**
Asegúrate de que el separador del archivo CSV sea correcto. En este caso, el separador es el punto y coma (`;`).
**Solución 5: Verificar la codificación del archivo CSV**
Asegúrate de que la codificación del archivo CSV sea correcta. Puedes verificar la codificación del archivo CSV utilizando el comando `chardet` en tu terminal.
```bash
chardet tu_archivo.csv
```
Si la codificación del archivo CSV no es correcta, puedes utilizar la biblioteca `chardet` en Python para determinar la codificación correcta.
```python
import chardet
with open('tu_archivo.csv', 'rb') as archivo:
resultado = chardet.detect(archivo.read())
print(resultado['encoding'])
```
Espero que alguna de estas soluciones te ayude a resolver el problema.
// TODO code application logic here
package Lista_Simplemente_Enlazadas;
import java.util.Scanner;
/**
*
* @author Juan Camilo
*/
public class Lista_Simplemente_Enlazadas {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Lista lista = new Lista();
int opcion = 0;
int dato = 0;
int posicion = 0;
do {
System.out.println("\nMENU");
System.out.println("1. Insertar al inicio de la lista");
System.out.println("2. Mostrar los elementos de la lista");
System.out.println("3. Insertar en la posición enésima");
System.out.println("4. Devolver la posición enésima de un elemento");
System.out.println("5. Ordenar los elementos de forma crecient
DELIMITER //
CREATE PROCEDURE ListProducts()
BEGIN
SELECT * FROM Products
INNER JOIN Categories
ON
Products.categoryID = Categories.categoryID
INNER JOIN Suppliers
ON
Products.supplierID = Suppliers.supplierID
END //
DELIMITER ;
ALCULADORA DE PENTAGONO CON UN LADO
import math
def area(lado):
area = lado * lado * math.sqrt(25 + 10 * math.sqrt(5)) / 4
return area
area(2)
int add(int a, int b) {
return a + b;
}
int sub(int a, int b) {
return a - b;
}
int main() {
int a = 0, b = 0;
cin >> a;
cin >> b;
cout << add(a, b) << endl;
cout << sub(a, b) << endl;
return 0;
}
Script
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
})
readline.question(`dime cuantas filas quieres`, (rows) => {
readline.question(`dime cuantas columnas quieres`, (columns) => {
console.log(`Vamos a crear una matriz de ${rows} filas y ${columns} columnas`)
let matrix = createMatrix(rows, columns)
printMatrix(matrix)
let minInfo = getMin(matrix)
console.log(`El minimo es: ${minInfo.value} y está en las posiciones (${minInfo.i}, ${minInfo.j})`)
let maxInfo = getMax(matrix)
console.log(`El maximo es: ${maxInfo.value} y está en las posiciones (${maxInfo.i}, ${maxInfo.j})`)
readline.close()
El problema que estás experimentando se debe a que el archivo CSV no está siendo leído correctamente. Hay varias razones por las que esto podría estar sucediendo, pero te voy a proporcionar algunas posibles soluciones.
**Solución 1: Leer el archivo CSV con `pandas`**
Puedes utilizar la biblioteca `pandas` para leer el archivo CSV. Asegúrate de que tengas instalada la biblioteca `pandas` ejecutando el comando `pip install pandas` en tu terminal.
```python
import pandas as pd
# Leer el archivo CSV
df = pd.read_csv('tu_archivo.csv', sep=';')
# Verificar las columnas
print(df.columns)
```
**Solución 2: Leer el archivo CSV con `csv`**
Puedes utilizar la biblioteca `csv` para leer el archivo CSV. Asegúrate de que tengas instalada la biblioteca `csv` ejecutando el comando `pip install csv` en tu terminal.
```python
import csv
# Leer el archivo CSV
with open('tu_archivo.csv', 'r') as archivo:
reader = csv.reader(archivo, delimiter=';')
columnas = next(reader)
print(columnas)
```
**Solución 3: Verificar el formato del archivo CSV**
Asegúrate de que el archivo CSV tenga el formato correcto. El archivo CSV debe tener una línea de encabezado con los nombres de las columnas, seguido de las filas de datos.
**Solución 4: Verificar el separador del archivo CSV**
Asegúrate de que el separador del archivo CSV sea correcto. En este caso, el separador es el punto y coma (`;`).
**Solución 5: Verificar la codificación del archivo CSV**
Asegúrate de que la codificación del archivo CSV sea correcta. Puedes verificar la codificación del archivo CSV utilizando el comando `chardet` en tu terminal.
```bash
chardet tu_archivo.csv
```
Si la codificación del archivo CSV no es correcta, puedes utilizar la biblioteca `chardet` en Python para determinar la codificación correcta.
```python
import chardet
with open('tu_archivo.csv', 'rb') as archivo:
resultado = chardet.detect(archivo.read())
print(resultado['encoding'])
```
Espero que alguna de estas soluciones te ayude a resolver el problema.
function add(a, b) {
return a + b;
}
add(1, 2);
void chatbot() {
while(true) {
string userinput;
getline(cin, userinput);
if(userinput == "hello")
cout << "Hello!" << endl;
else if(userinput == "why are you so stupid?")
cout << "because i am a bot" << endl;
else
cout << "i dont understand" << endl;
}
}
onsole
mango
$1.00
pera
$1.50
tomate
$0.75
def sum_of_integers(n):
sumatoria = 0
for i in range(1, 101):
if i % n == 0:
sumatoria += i
return sumatoria
sum_of_integers(3)
ript
function mayor(numero) {
if (numero > 9) {
return true;
} else {
return false;
}
}
console.log(mayor(5)); // false
console.log(mayor(10)); // true
A:
El problema es que estás usando el operador de asignación (=) en lugar del operador de comparación (==).
linkedHashMap.put(key, value)
Ship::Ship(ShipType type,const std::vector<Coordinate *> &positions)
{
this->type = type;
this->positions = positions;
}
div class="container" id="main">
<div class="chat">
<div class="chat-header">
<div class="chat-avatar">
<img src="img/avatar.png" alt="Avatar">
</div>
<div class="chat-name">
<span class="chat-username">
<a href="#">
<span class="chat-username-text">
<span class="chat-username-text-inner">
<span class="chat-username-text-in
translateThu, 23 Mar 2023 #include <stdio.h>
int main(int argc, char const *argv[])
{
int n;
printf("Ingrese tamaño del arreglo: \n");
scanf("%d", &n);
int numbers[n];
for (int i = 0; i < n; i++)
{
printf("Ingrese un numero: \n");
scanf("%d", &numbers[i]);
}
for (int i = 0; i < n; i++)
{
printf("El numero %d es: %d \n", i, numbers[i]);
}
return 0;
}
Aquí te muestro un ejemplo de cómo crear un cronómetro con HTML, CSS y JavaScript:
**HTML**
```html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cronómetro</title>
<link rel="stylesheet" href="estilos.css">
</head>
<body>
<div class="cronometro">
<h1 id="tiempo">00:00:00</h1>
<button id="start">Iniciar</button>
<button id="stop">Detener</button>
<button id="reset">Resetear</button>
</div>
<script src="script.js"></script>
</body>
</html>
```
**CSS (en el archivo estilos.css)**
```css
.cronometro {
width: 300px;
margin: 50px auto;
text-align: center;
}
#tiempo {
font-size: 48px;
font-weight: bold;
margin-bottom: 20px;
}
```
**JavaScript (en el archivo script.js)**
```javascript
let tiempo = 0;
let intervalo;
document.getElementById('start').addEventListener('click', () => {
intervalo = setInterval(() => {
tiempo++;
let horas = Math.floor(tiempo / 3600);
let minutos = Math.floor((tiempo % 3600) / 60);
let segundos = tiempo % 60;
document.getElementById('tiempo').innerHTML = `${horas.toString().padStart(2, '0')}:${minutos.toString().padStart(2, '0')}:${segundos.toString().padStart(2, '0')}`;
}, 1000);
});
document.getElementById('stop').addEventListener('click', () => {
clearInterval(intervalo);
});
document.getElementById('reset').addEventListener('click', () => {
clearInterval(intervalo);
tiempo = 0;
document.getElementById('tiempo').innerHTML = '00:00:00';
});
```
En este ejemplo, creamos un cronómetro que cuenta desde 0 y muestra el tiempo en formato HH:MM:SS. Los botones "Iniciar", "Detener" y "Resetear" permiten controlar el cronómetro.
* El botón "Iniciar" inicia el cronómetro y comienza a contar el tiempo.
* El botón "Detener" detiene el cronómetro y para la cuenta regresiva.
* El botón "Resetear" reinicia el cronómetro y establece el tiempo en 0.
Espero que esto te ayude. ¡Si tienes alguna pregunta o necesitas más ayuda, no dudes en preguntar!
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
int main()
{
int a, b, c;
cin>>a>>b>>c;
if(a>b && a>c)
{
cout<<a<<" ";
if(b>c)
cout<<b<<" "<<c;
else
cout<<c<<" "<<b;
}
else if(b>a && b>c)
{
cout<<b<<" ";
if(a>c)
cout<<a<<" "<<c;
else
cout<<c<<" "<<a;
}
else if(c>a && c>b)
{
cout<<c<<" ";
if(a>b)
cout<<a<<" "<<b;
else
cout<<b<<" "<<a;
}
return 0;
}
void programar(a, z) {
if (a == z)
return a;
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float hipotenusa;
float cateto1,cateto2;
printf("Cateto 1: ");
scanf("%f",&cateto1);
printf("Cateto 2: ");
scanf("%f",&cateto2);
hipotenusa= sqrt(pow(cateto2,2)+pow(cateto1,2));
printf("La hipotenusa es: %f\n ",hipotenusa);
printf("El area es: %f\n",cateto1*cateto2/2);
return 0;
}
ript
function mayor(numero) {
if (numero > 9) {
return true;
} else {
return false;
}
}
console.log(mayor(5)); // false
console.log(mayor(10)); // true
A:
El problema es que estás usando el operador de asignación (=) en lugar del operador de comparación (==).
def hipotenusa(a, b):
return a**2 + b**2
hipotenusa(3, 4)
A:
Python 3.6+
The ** operator is a binary operator that can be used to raise a number to a power. It is equivalent to the ** operator in Python 2.7+, but is more readable and more efficient.
>>> 3 ** 2
a = input("a:")
b = input("b:")
if a > b:
print(a)
else:
print(b)
TYPE html>
<html>
<head>
<title>PC Stand</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="container">
<div id="header">
<h1>PC Stand</h1>
</div>
<div id="content">
<h2>About</h2>
<p>
The PC Stand is a project I started in the summer of 2015. I wanted to make a stand for my
int a, b;
Console.WriteLine("Dame dos numeros para dividirlos");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
Console.WriteLine("El resultado de la división entera es {0}", DivEntera(a, b));
Console.WriteLine("El resultado de la división decimal es {0}", DivDecimal(a, b));
int DivEntera(int a, int b)
{
return a / b;
}
double DivDecimal(int a, int b)
{
return (double) a/b;
}
int main (){
int n=0;
do{
n++;
if (n%2==0)
cout<<n<<endl;
}while(n<=100);
}
def factorial(x):
if x == 0:
return 1
return x * factorial(x - 1)
factorial(5)
#
public static Panel CreatePanel()
{
var panel = new Panel();
var textBox = new TextBox();
textBox.Location = new Point(10, 10);
textBox.Size = new Size(200, 50);
panel.Controls.Add(textBox);
var button = new Button();
button.Location = new Point(10, 70);
button.Size = new Size(200, 50);
button.Text = "Execute";
panel.Controls.Add(button);
return panel;
}
private void button1_Click(object sender, EventArgs e)
{
var panel = CreatePanel();
Controls.Add(panel);
}
def drawArrow(turtle, size):
for i in range(0, 4):
turtle.forward(size)
turtle.right(90)
drawArrow(turtle, 100)
Here's a simple example of a class in Java that has a method to increment a counter:
```java
public class Counter {
private int count;
public Counter() {
this.count = 0;
}
public void increment() {
this.count++;
}
public int getCount() {
return this.count;
}
public static void main(String[] args) {
Counter counter = new Counter();
System.out.println("Initial count: " + counter.getCount());
counter.increment();
System.out.println("Count after increment: " + counter.getCount());
counter.increment();
System.out.println("Count after second increment: " + counter.getCount());
}
}
```
In this example, the `Counter` class has a private integer field `count` to store the current count. The `increment` method increments the count by 1. The `getCount` method returns the current count.
When you run this code, it will output:
```
Initial count: 0
Count after increment: 1
Count after second increment: 2
```
This demonstrates that the `increment` method is working correctly and incrementing the counter each time it's called.
Future<void> signUp(String email, String password) async {
var result = await _cognitoUserPool.signUp(email, password, [
AttributeArg(name: 'email', value: email),
AttributeArg(name: 'name', value: 'minh'),
AttributeArg(name: 'phone_number', value: '0932919800'),
AttributeArg(name: 'gender', value: 'male'),
]);
print('signUp result: $result');
}
Please keep input under 1000 characters
#include <iostream>
using namespace std;
int main() {
int n = 0;
float costo = 0;
cout << "Ingrese la cantidad de pelotas que desea comprar: \n";
cin >> n;
if (n <= 10){
costo = n * 7.00;
cout << "El valor total a pagar es: " << costo << " dolares" << endl;
}
else{
costo = n * 6.50;
cout << "El valor total a pagar es: " << costo << " dolares" << endl;
}
return 0;
}
def add(a, b):
return a + b
add(1, 2)
def algoritmo_genetico(valor_inicial, valor_final, formacion_de_parejas, numero_de_generaciones, probabilidad_de_cruzamiento, probabilidad_de_mutacion):
# Inicializamos la poblacion
poblacion = []
for i in range(0, numero_de_generaciones):
poblacion.append([])
for j in range(0
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
lic double areaTriangle(double a, double b, double c)
{
return (a * b * Math.Sqrt(Math.Pow(c, 2) - Math.Pow(a, 2) - Math.Pow(b, 2))) / 2;
}
public double areaSquare(double a)
{
return a * a;
}
public double area
include <iostream>
int main(){
cout<<"Hello world!\n";
return 0;
}
int main(){
int i;
for(i=8;i<=500;i+=8){
printf("\n%d",i);
}
return 0;
}
# -*- coding: utf-8 -*-
# Copyright (c) 2019, DigiThinkIT and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
class ProductDetector(Document):
pass
1: Create table clientes (
id int not null primary key,
name varchar(255) not null,
email varchar(255) not null,
password varchar(255) not null)
2: Create table admin (
id int not null primary key,
name varchar(255) not null,
email varchar(255) not null,
password varchar(255) not null)
Script
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
})
readline.question(`dime cuantas filas quieres`, (rows) => {
readline.question(`dime cuantas columnas quieres`, (columns) => {
console.log(`Vamos a crear una matriz de ${rows} filas y ${columns} columnas`)
let matrix = createMatrix(rows, columns)
printMatrix(matrix)
let minInfo = getMin(matrix)
console.log(`El minimo es: ${minInfo.value} y está en las posiciones (${minInfo.i}, ${minInfo.j})`)
let maxInfo = getMax(matrix)
console.log(`El maximo es: ${maxInfo.value} y está en las posiciones (${maxInfo.i}, ${maxInfo.j})`)
readline.close()
categories.of.variable <- function(x){
return(length(levels(x)))
}
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
def sum_of_integers(n):
sumatoria = 0
for i in range(1, 101):
if i % n == 0:
sumatoria += i
return sumatoria
sum_of_integers(3)
function sumaCubos(n) {
if (n > 0) {
return n * n * n + sumaCubos(n - 1);
} else {
return 0;
}
}
sumaCubos(3);
# -*- coding: utf-8 -*-
# Copyright (c) 2019, DigiThinkIT and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
class ProductDetector(Document):
pass
// Список битов с сообщения
// 1 бит - стартовый бит (1)
// 2 - 8 бит - биты сообщения (7 бит)
// 9 бит - бит паритета (должен быть равен чётности всех битов сообщения)
// 10 бит - стоп-бит (0)
char start_bit = 1;
char message_bit_1 = 0;
char message_bit_2 = 0;
char message_bit_3 = 0;
char message_bit_4 = 1;
char message_bit_5 = 0;
char message_bit_6
## 六、过程与思考(必填)
1. 你理解的实验标题和主题是什么?
from random import randint
def diceRoll(userGuess, numRoll):
if userGuess == numRoll:
return True
else:
return False
def main():
numRoll = randint(1, 6)
userGuess = int(input("Guess a number from 1 to 6: "))
if diceRoll(userGuess, numRoll):
print("You win!")
else:
print("You lose. Better luck next time!")
main()
def sum_of_integers(n):
sumatoria = 0
for i in range(1, 101):
if i % n == 0:
sumatoria += i
return sumatoria
sum_of_integers(3)
#include <stdio.h>
int main(void) {
int N;
scanf("%d", &N);
int estaturas[N];
for (int i = 0; i < N; i++) {
scanf("%d", &estaturas[i]);
}
int posicion;
scanf("%d", &posicion);
printf("%d", estaturas[posicion]);
return 0;
}
def add(a, b):
return a + b
add(1, 2)
the if statement checks the value of dw_hour_meter_value and if the value is greater or equal to the HOUR_METER_MAX then the value of dw_hour_meter_value is set to 0, the gsw_hour_meter_count is set to 0, the fnby_WritePort function is used to write 0 to the AMIL, the fnv_TripA_reset function and the fnv_TripB_reset function are called to reset the trip a and trip b variables.
function add(a, b) {
return a + b;
}
add(1, 2);
def get_police_users(department):
import ldap
import re
from openpyxl import Workbook
from openpyxl import load_workbook
wb = Workbook()
ws = wb.active
# connect to active directory
conn = ldap.initialize('ldap://ldap.yourdomain.com')
# search for users in department in active directory
results = conn.search_s('dc=yourdomain,dc=com', ldap.SCOPE_SUBTREE, "department=" + department, ['cn'])
# create spreadsheet and add users in department to it
ws.append(["Users"])
for result in results:
ws.append([re.findall('(?<=cn=).*', result[1]['cn'][0].decode('utf-8'))[0]])
wb.save("output.xlsx")
# open spreadsheet and sort by last name
wb = load
func round(input float64) float64 {
return math.Floor(input*1000) / 1000
}
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
int a, b;
Console.WriteLine("Dame dos numeros para dividirlos");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
Console.WriteLine("El resultado de la división entera es {0}", DivEntera(a, b));
Console.WriteLine("El resultado de la división decimal es {0}", DivDecimal(a, b));
int DivEntera(int a, int b)
{
return a / b;
}
double DivDecimal(int a, int b)
{
return (double) a/b;
}
b <- c(1,1,1,1,1,1,1,0,0,0,0,0,0,0)
while (mean(b) > 0.40) {
b[sample(which(b==1), 1)] <- 0
}